![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выделение цветом определенной строки в DBGrid [D6, MSSQL, MySQL]
Ryser © (2002-11-04 11:26:00)Знатоки! Подскажите!
Ryser (2002-11-04 11:57:00) [1]Огромное спасибо всем! Очень хорошая инф-ция!
Kudatsky (2002-11-04 11:52:00) [2]Посмотри сюда:
http://www.infocity.kiev.ua/prog/delphi/content/delphi030.phtml?id=1014
alexr (2002-11-04 11:50:00) [3]Это очень просто нужно в свойстве компонента DBGrid OnDrawColumnCells прописать следующую процедуру:
(в примере в качестве источника данных используется компонент TTable с именем Oborud) процедура изменяет цет строки (заливку, а также цвет и другие параметры шрифта) в DBGrid в зависимости от значения поля.
procedure DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
IF (Oborud.FieldByName("Tip").Value="КОМПЬЮТЕР") Then
Begin
with DBGrid1.Canvas do
Begin
Brush.Color:= clFuchsia;
Font.Color:=clBlack;
Font.Style:=[fsBold];
FillRect(Rect);
TextOut(Rect.Left+2,Rect.Top+2,Column.Field.Text);
End;
End
Else
IF (Oborud.FieldByName("Tip").Value="Монитор") Then
Begin
with DBGrid1.Canvas do
Begin
Brush.Color:= clMoneyGreen;
Font.Color:=clBlack;
Font.Style:=[fsBold];
FillRect(Rect);
TextOut(Rect.Left+2,Rect.Top+2,Column.Field.Text);
End;
End
Else
IF (Oborud.FieldByName("Tip").Value="Принтер") Then
Begin
with DBGrid1.Canvas do
Begin
Brush.Color:= clGradientActiveCaption;
Font.Color:=clBlack;
Font.Style:=[fsBold];
FillRect(Rect);
TextOut(Rect.Left+2,Rect.Top+2,Column.Field.Text);
End;
End
end;