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

Вниз

Подскажите, пожалуйста, что не правильно: мне нужно окрасить в   Найти похожие ветки 

 
Larisa   (2002-09-27 20:34) [0]

другой цвет строчки в DBGrid, соответствующие договорам, у которых истек срок действия, использую для этого обработчик события DrawColumnCell:

procedure TForm1.GridLigDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (GridLig.Columns[4].Field.AsDateTime>Date) then

TDBGrid(Sender).Canvas.Brush.Color:=cl3DLight;

if gdSelected in State then
begin
TDBGrid(Sender).Canvas.Brush.Color:= clHighLight;
TDBGrid(Sender).Canvas.Font.Color :=clHighLightText;
end;
TDBGrid(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;

но окрашивания не происходит. Подскажите, пожалуйста, - где ошибка.


 
NP-237 ©   (2002-09-27 20:50) [1]

A DefaultDrawColumnCell
пробовала убирать на else?
Т.е
end else TDBGrid(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;



 
sniknik ©   (2002-09-27 22:49) [2]

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
with DBGrid1.Canvas do begin
if (ADODataSet1.FieldByName("Region").AsString <> "") and not (gdFocused in State) then
begin
Brush.Color := clLime;
Font.Color := clBtnText;
FillRect(Rect);
TextOut(Rect.Left+2, Rect.Top+2, Column.Field.Text);
end
else
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;


 
Larisa   (2002-10-02 11:34) [3]

пробовала убирать на else
Т.е
end else TDBGrid(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);
все равно окраски не происходит, если окрашиваю строки при выполнении другого условия, в котором условие типа:

FieldByName("Region").AsString <> "" - то все получается,

видимо, проблемы возникают если условие - типа:

Columns[4].Field.AsDateTime>Date

Помогите, пожалуйста, разобраться.


 
sniknik ©   (2002-10-02 12:46) [4]

посмотри в каком формате дату выдает AsDateTime может минуты мешают или даже просто бред выдает (если в базе хранится в формате не соответст. региональным установкам.)

просто переобразуй в строку обе даты (DateTimeToStr) и сравни.



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

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

Наверх




Память: 0.47 MB
Время: 0.019 c
3-78299
Allo
2002-10-03 15:06
2002.10.24
Ругается Interbase когда создаю FK к заполненной таблице.


1-78516
aabark
2002-10-11 12:34
2002.10.24
Запуск демо треб оболочки Delphi


1-78318
Sharik_212
2002-10-11 22:26
2002.10.24
Почему не меняется картинка в ComboBoxEx?


1-78448
greenrul
2002-10-11 19:50
2002.10.24
Указатели : if (Units


1-78524
vasya_dvc
2002-10-13 20:28
2002.10.24
Точность никогда не бывает лишней