Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.29;
Скачать: 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 вся ветка

Текущий архив: 2005.06.29;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.06 c
14-1117440868
Огшу
2005-05-30 12:14
2005.06.29
WLAN, дальность полета ?


14-1117995253
Lagrange
2005-06-05 22:14
2005.06.29
Microsoft :-)


4-1115541375
psa247
2005-05-08 12:36
2005.06.29
RegOpenKey


14-1117547432
ЯВ
2005-05-31 17:50
2005.06.29
Срочный вопрос :)


14-1117824070
Мучимый жаждой
2005-06-03 22:41
2005.06.29
На чем писали самый первый язык программирования?