vladman
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору brookson Цитата: Помогите, а то запутался уже | Нюансы реализация зависят от версии ExpressPivotGrid (v.1 или v.2). Но главная идея состоит в том что нужно использовать, так называемые drill-down данные для анализируемой ячейки. В ExpressPivotGrid v.2 был улучшен (упрощен) механизм получения drill-down с помощью компоненты TcxPivotGridDrillDownDataSet. Предполагая, что используется ExpressPivotGrid v.2, решение вопроса может выглядеть так: 1. В cxPivotGrid добавить ключевое поле (REC_ID, например) и, если необходимо, сделать его невидимым. 2. Установить свойство Caption этого поля тоже в 'REC_ID'. Важно, так как по этому значению будем позже идентифицировать это поле. 3. Поместить на форму или DataMod компонент cxPivotGridDrillDownDataSet и, посредством его свойства PivotGrid, связать с соответствующим PivotGrid. 4. В обработчике удаления конкретной ячейки из БД указать: Код: … var vRecId: integer; begin <Your>PivotGridDrillDownDataSet.CreateData; vRecId := <Your>PivotGridDrillDownDataSet.FieldByName('REC_ID').AsInteger; //DELETE FROM MYTABLE WHERE REC_ID = vRecId end; | Но следует помнить, что если для получения данных конкретной ячейки использовалось более чем одно значение исходных данных то vRecId будет принимать по умолчанию последнее значение из этого набора данных. Если выполнить <Your>PivotGridDrillDownDataSet.First - то, соответственно, первое. *Если используется ExpressPivotGrid v.1 могу сделать пример и для этой версии. |