Вниз
Скачать: CL | DM;

OnCalcFields как выполнить только для текущей записи?   Найти похожие ветки 

 
Manfred8   (2005-05-16 16:47) [0]

Опытным путем выяснил что OnCalcFields  выполняется для всех записей находящихся в гриде,не в датасете а именно в гриде..

Задача - управлять значением калькулейт поля типа boolen.

Выбираю какое значение ему присвоить вызываю Locate на запись чье поле меняю,далее происходит переход к  OnCalcFields который выполняется столько раз сколько записей в гриде*2.. в обработчике выполняются довольно ресурсоемкие операции и потому хотелось бы сократить время затрачиваемое на их выполнение..
Собственноо вопрос как ограничить кол-во вызовов OnCalcFields,как сделать чтобы вызвался только для текущей записи?


 
Polevi ©   (2005-05-16 16:52) [1]

в "гриде" OnGetText выполняется
OnCalcFields - для датасета


 
Manfred8   (2005-05-16 16:59) [2]

я в курсе ,но если прикрепить к датасету грид то получаем то о чем было написано


 
Ega23 ©   (2005-05-16 17:04) [3]

Собственноо вопрос как ограничить кол-во вызовов OnCalcFields,как сделать чтобы вызвался только для текущей записи?

В выборку поле добавить?


 
Johnmen ©   (2005-05-16 17:05) [4]

OnCalcFields вызывается только тогда, когда есть явное или неявное обращение в вычисляемому полю. Напр.для отрисовки в гриде.
Поэтому DisableControls EnableControls.


 
Manfred8   (2005-05-16 17:06) [5]

To Ega23 Недопонял :)  ?


 
Manfred8   (2005-05-16 17:10) [6]

Удалено модератором
Примечание: следи за языком.


 
Johnmen ©   (2005-05-16 17:15) [7]

>Manfred8   (16.05.05 17:10) [6]

Ну да. Идет неявное обращение к записям...
Проверяй в ОнКалкФилде ControlsDisabled


 
Ega23 ©   (2005-05-16 18:25) [8]

To Ega23 Недопонял :)  ?

Задача - управлять значением калькулейт поля типа boolen.

На уровне выборки и управляй. Зачем делать Calculate для Calculated поля???


 
Prohodil Mimo ©   (2005-05-17 11:17) [9]

А AutoCalcFields:=False не поможет?


 
msguns ©   (2005-05-17 11:42) [10]

1. Убрать OnCalcFields
2. Создать доп.колонку, в которую не назначать поле НД
3. Для текущей записи считать и рисовать в доп.колонке подсчитанное значение в событии грида OnDrawColumnCell



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.025 c
1-1117806282
fagot
2005-06-03 17:44
2005.06.29
Побудка


1-1118069208
Эдик Дятлов
2005-06-06 18:46
2005.06.29
Сохранить запись, содержащую динамический массив, в файл


14-1117084732
reticon
2005-05-26 09:18
2005.06.29
Помогите найти песенку...


3-1115902077
mr.IL
2005-05-12 16:47
2005.06.29
создать dbf средствами дельфы


1-1117711949
Romkaa
2005-06-02 15:32
2005.06.29
Посчитать число е




   Наверх