Форум: "Базы";
Текущий архив: 2002.10.24;
Скачать: [xml.tar.bz2];
ВнизПодскажите, пожалуйста, что не правильно: мне нужно окрасить в Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c