Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.51 MB
Время: 0.047 c
4-1103712547
DelphiN!
2004-12-22 13:49
2005.02.20
Получить температуру процессора


14-1107250545
Vaitek
2005-02-01 12:35
2005.02.20
Исходникик внутри DLL?


14-1106986303
kaZaNoVa
2005-01-29 11:11
2005.02.20
Посоветуйте Антивирус, какой лучше?


3-1106543428
SarDoX
2005-01-24 08:10
2005.02.20
Сложный поиск


3-1105949104
KAA
2005-01-17 11:05
2005.02.20
MSSQL 2000 Настройка прав для связанных серверов