Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.30;
Скачать: CL | DM;

Вниз

Как определить, что пользователь изменил данные в dbGrid?   Найти похожие ветки 

 
Ильдар   (2002-12-09 08:02) [0]

Требуется "на лету" проводить вычисления по строке после изменения пользователем данных в любом из полей dbGrid. Как определить, что значение поля изменено и какое поле изменено?


 
Виталий Панасенко   (2002-12-09 09:35) [1]

По-моему, проще все пересчитывать по новому, чем вычислять, какое поле изменилось. Ведь для вычисления используются заведомо известные поля и смысла в "Как определить, что значение поля изменено и какое поле изменено?", кажись, нет. Это можно делать как в вычисляемых полях, так и обработчике BeforePost.


 
passm ©   (2002-12-09 11:21) [2]

Ильдар (09.12.02 08:02)> TField.OnChange(Sender: TField);


 
Ильдар   (2002-12-09 11:50) [3]

В том то и дело, что алгоритм вычислений зависит от того, какое поле изменилось!


 
passm ©   (2002-12-09 11:58) [4]

Ильдар (09.12.02 11:50)> Что мешает ориентироваться на Sender?


 
Ильдар   (2002-12-09 13:55) [5]

C TField.OnChange(Sender: TField) есть проблема. При вычислениях будут изменяться поля, для которых начнёт срабатывать событие OnChange, которое в свою очередь породит новое вычисление и т.д. В общем получится нечто вроде бесконечной рекурсии.


 
MMF ©   (2002-12-09 14:02) [6]

> Ильдар (09.12.02 13:55)
Все так и делают. Никакой рекурсии не будет, если правильно написать.


 
roottim   (2002-12-09 14:38) [7]

вообще для этого предназначены Calculate поля, и в OnCalcField пишут вычисления. см. HELP


 
MMF ©   (2002-12-09 14:43) [8]

>roottim (09.12.02 14:38)
А как насчет подстановки значения поля по-умолчанию, например цены при выборе поля Товар.


 
Виталий Панасенко   (2002-12-09 18:20) [9]

>MMF (09.12.02 14:43)
Для этого существует событие OnNewRecord



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
1-99124
iNew
2002-12-18 09:26
2002.12.30
Использую ф-ию windows.Beep(16000,15000), но какое бы число


3-99025
Whippi
2002-12-09 15:01
2002.12.30
Как програмно создать алиас в BDE?


8-99211
Дмитрий Сазонов
2002-09-11 17:18
2002.12.30
Система компьютерного видеонаблюдения на Delphi


1-99131
mikl2002
2002-12-18 12:24
2002.12.30
Как осуществить XLS преобразование в XMLDocument e


3-98956
ELKa
2002-11-26 12:55
2002.12.30
Вопрос по Crystal Reports