Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.007 c
14-78647
Tornado
2002-10-04 08:16
2002.10.24
Кто сколько зарабатывает?


14-78673
Anatoly Podgoretsky
2002-10-05 01:40
2002.10.24
Тест


7-78687
DeepProg
2002-08-16 19:32
2002.10.24
Fatal Error


8-78540
Mixan
2002-06-29 21:42
2002.10.24
Как проиграть несколько wav файлов один за одним?


14-78590
Serzhik
2002-10-01 18:20
2002.10.24
отладка в Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский