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

Методы DBGrid или DataSet?   Найти похожие ветки 

 
Wood   (2004-11-23 06:27) [0]

Уважаемые мастера, подскажите, пожалуйста, в каком методе таблицы (DBGrid) или методе DataSet надежнее и оптимальнее проводить какую-либо проверку? Например, в процедуре DBGrid1DrawColumnCell я проверяю булевое поле, и если значение True, то эта строка в таблице рисуется красным цветом. К таблице имеется контекстное меню (PopupMenu). В этой же процедуре при данной проверке некоторые строки меню должны быть не активны, но на деле, происходит это не всегда. Почему прорисовка  происходит постоянно, а активность строк меню "через раз срабатывает"? В
процедуре DBGrid1DrawDataCell и того хуже. Помогите разобраться. Спасибо.


 
ЮЮ ©   (2004-11-23 07:47) [1]

>Почему прорисовка  происходит постоянно, а активность строк меню "через раз срабатывает"?

Потому что рисуется не текущая запись, а все строки в гриде и поэтому состояние строк меню соответствует не текущей записи, а последней нарисованной. настройку строк меню поставь, естестаенно, в DataSet.AfterScroll


 
Wood   (2004-11-23 08:13) [2]

>>ЮЮ
Спасибо, попробую сечас в AfterScroll"е это сделать


 
Wood   (2004-11-23 08:22) [3]

>>ЮЮ[1]
Замечательно, все работает!


 
KSergey ©   (2004-11-23 09:41) [4]

А может правильнее будет на OnPopup потавить настройку меню?


 
msguns ©   (2004-11-23 10:25) [5]

Работай через TActionList+ TAction`s. Удобство в централизации обработки событий.


 
Wood   (2004-11-24 04:40) [6]

>KSergey >msguns
Не ожидал, что еще ответы будут. В моем случае OnPopup был не нужен, там какая-то сложная настройка строк меню с разными вариантами, но это не важно, все равно, спасибо.
>msguns
Согласен, TActionList удобная штучка, я периодически использую его, в основном, для главного меню формы и для открытия дополнительных приложений, типа калькулятор и пр.



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

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



Память: 0.46 MB
Время: 0.021 c
1-1103102918
_Max_
2004-12-15 12:28
2004.12.26
Как отключить/перехватиывать буфер обмена Windows?


14-1102352897
Cheater
2004-12-06 20:08
2004.12.26
Как засекретить пароль?


1-1102972333
STK
2004-12-14 00:12
2004.12.26
Загруженность процессора(100%) процессом(как облегчить)


14-1102335385
Привет!!!!
2004-12-06 15:16
2004.12.26
И как лечить вирус? (не конкретная ситуация а в целом)


1-1102776557
zokzok
2004-12-11 17:49
2004.12.26
как ассоциировать приложение с типом файлов?




   Наверх