Текущий архив: 2005.02.20;
Скачать: CL | DM;
ВнизПрорисовка в дбгриде Найти похожие ветки
← →
Дырчик © (2005-01-20 16:11) [0]как мне изменить цвет записи в дбгриде по значению поля, которое не отображается в самом гриде
← →
Соловьев © (2005-01-20 16:16) [1]http://www.delphikingdom.com/asp/viewitem.asp?catalogid=168
← →
Vlad © (2005-01-20 16:17) [2]
> Дырчик © (20.01.05 16:11)
у грида есть событие OnDrawColumnCell
туда пишешь что-то вроде этого
if <условие> then TDBGrid(Sender).Canvas.Brush.Color :=clRed;
DefaultDrawColumnCell(Rect, DataCol, Column, State);
← →
Rule © (2005-01-20 16:18) [3]Соловьев © (20.01.05 16:16) [1]
я был уверен, что именно ты именна так и ответишь :)))
← →
Дырчик © (2005-01-20 16:40) [4]я конечно много извеняюся, это-то вроде просто, но прошу обратить внимание на слова по значению поля, которое не отображается в самом гриде - т.е. нет его вообще, оно тока в датасете
← →
Sergey13 © (2005-01-20 16:44) [5]2[4] Дырчик © (20.01.05 16:40)
>по значению поля, которое не отображается в самом гриде
По барабану это.
← →
Соловьев © (2005-01-20 16:44) [6]а почему нельзя колумну сделать визибле фалсе?
← →
Дырчик © (2005-01-20 16:47) [7]Да что-то не получается, если я сравниваю по значение поля, которое не отображается в Grid, то у меня сравнивается с текущей записью, на которой позиционирован DataSet
← →
Дырчик © (2005-01-20 16:48) [8]А тада он его не прорисовывает
← →
топпер (2005-01-20 16:49) [9]а в чем проблема
пиши как сказал тебе Влад
if dataset1.fieldbyname("field").asinteger=value then...
← →
Johnmen © (2005-01-20 16:49) [10]>я конечно много извеняюся, это-то вроде просто, но прошу обратить внимание на слова по значению поля, которое не
>отображается в самом гриде - т.е. нет его вообще, оно тока в датасете
Какая разница ? См. в датасет...
← →
Alex_Bredin © (2005-01-20 16:51) [11]
> Дырчик © (20.01.05 16:47) [7]
> Да что-то не получается, если я сравниваю по значение поля,
> которое не отображается в Grid, то у меня сравнивается с
> текущей записью, на которой позиционирован DataSet
сам-то понял?
← →
Дырчик © (2005-01-20 16:54) [12]А вы пробовали?
← →
Топпер (2005-01-20 16:55) [13]объясни нормально
← →
Топпер (2005-01-20 16:57) [14]ты хочешь сравнить данные поля текущей записи с полем другой записи?
← →
Дырчик © (2005-01-20 17:01) [15]Alex_Bredin ©
Попробую расшифровать:
Имеется набор данных, например id, type, value, ...
в гриде отображаются value, ...
по значению type надо раскрасить строки
при прорисовки строк в процедуре DrawColumnCell отрабатываются только значения, которые отображаются в гриде (переменная Column), как же мне добраться до значения поля type?
← →
Vlad © (2005-01-20 17:03) [16]
> Дырчик © (20.01.05 16:54) [12]
Отображается или не отображается поле в гриде - никакого значения не имеет.
1) Ставим у грида свойство DefaultDrawing = False
2) На событие OnDrawColumnCell пишем следующее (как пример):with TDBGrid(Sender) do
begin
if DataSource.DataSet.FieldByName(<имя поля>).AsInteger = <значение> then
Canvas.Brush.Color:=clRed;
DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
← →
Alex_Bredin © (2005-01-20 17:07) [17]
> Vlad © (20.01.05 17:03) [16]
ну нельзя так сразу
видно же что человек и не пробовал свою отрисовку писать, иначе такую ахинею не нес бы
← →
Топпер (2005-01-20 17:08) [18]гы
← →
Топпер (2005-01-20 17:12) [19]выносите...
а вообще доктор сказал в морг значит в морг
Страницы: 1 вся ветка
Текущий архив: 2005.02.20;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.039 c