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

Вниз

полосотый DBGrid   Найти похожие ветки 

 
kaktus   (2004-11-23 18:31) [0]

Доброе время суток мастера!
А как мне замутить полосатый грид, т.е. одна строчка одним цветом, а другая другим.


 
begin...end ©   (2004-11-23 18:38) [1]


> kaktus   (23.11.04 18:31)

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=168


 
Piter ©   (2004-11-23 22:22) [2]

Вопрос: как раскрасить отдельные строки/столбцы в TDBGgrid

Ответ: нужно обработать событие OnDrawColumnCell, которое возникает при отрисовке ячейки:

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
 DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
 Grid: TDbGrid;
begin
 Grid := Sender as TDBGrid;
 if (Grid.DataSource.DataSet.RecNo mod 2) = 0 then
   Grid.Canvas.Brush.Color := clRed
 else if (DataCol mod 2) = 0 then
   Grid.Canvas.Brush.Color := clGreen;
 Grid.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;


В результате, каждая вторая строка раскрашивается в красный цвет, а у каждой первой строки каждый первый столбец раскрашивается в зеленый цвет.

При этом стоит сделать:

DBGrid1.DefaultDrawing := False; - чтобы не раскрашивался два раза подряд

Отвечал: Jack128



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

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

Наверх




Память: 0.47 MB
Время: 0.075 c
1-1100889661
markers
2004-11-19 21:41
2004.12.05
Как вызвать процедуру находящуюся в переменной.


6-1096015185
RoMka
2004-09-24 12:39
2004.12.05
IP адрес машины, находящейся в другой рабочей группе?


1-1100630052
Fantasist
2004-11-16 21:34
2004.12.05
Sharemem


4-1098437577
Slonco
2004-10-22 13:32
2004.12.05
Как сделать чтобы форма получила фокус и стала поверх другх окон?


14-1100581416
vidiv
2004-11-16 08:03
2004.12.05
update для dreamweaver