|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Цветовое оформление DBGrid
Как можно не учитывая данные, выводимые в DBGrid, разделить цветами четные и нечетные строки?
|
#2
|
|||
|
|||
Код:
procedure TformColorGrid.DBGridDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); Begin // Красим нечетные строки IF TDBGrid(Sender).DataSource.DataSet.RecNo mod 2 = 1 Then TDBGrid(Sender).Canvas.Brush.Color:=RGB($CC,$CC,$99); // Восстанавливаем выделение текущей позиции курсора IF gdSelected IN State Then Begin TDBGrid(Sender).Canvas.Brush.Color:= clHighLight; TDBGrid(Sender).Canvas.Font.Color := clHighLightText; End; // Просим GRID перерисоваться самому TDBGrid(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State); End; © Елена Филиппова |
#3
|
||||
|
||||
Есть ещё один вариант данного действа. более прост для понимаю. В плане оптимальной работы программы судить не берусь
Код:
procedure TForm.TDBGridGetCellParams(Sender: TObject; Column: TColumnEh; AFont: TFont; var Background: TColor; State: TGridDrawState); begin If Odd(MainData.TTable.RecNo) then Background := clWhite else Background := clCream; end; Правда я этот метод использую в EhLib'ских гридах, в стандартных не пробовал. "Люди никогда не видят то, существование чего им кажется невозможным." ©Терри Пратчетт |