Вниз
Скачать: 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.024 c
14-1117446788
Ajax
2005-05-30 13:53
2005.06.29
Покупка цифровой мыльницы в Питере


14-1117561140
Juice
2005-05-31 21:39
2005.06.29
D8, D2005. Правильный выбор?


4-1115443238
Новичок0
2005-05-07 09:20
2005.06.29
Зная ProcessID получить FileName


14-1117422721
Думкин
2005-05-30 07:12
2005.06.29
Одним мастаком в Новосибе стало меньше


14-1117651036
Killer-App
2005-06-01 22:37
2005.06.29
Для знающих СИ! помогите!




   Наверх