![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
полосотый DBGrid
kaktus © (2004-11-23 18:31:00)Доброе время суток мастера!
А как мне замутить полосатый грид, т.е. одна строчка одним цветом, а другая другим.
Piter (2004-11-23 22:22:00) [1]Вопрос: как раскрасить отдельные строки/столбцы в 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
begin...end (2004-11-23 18:38:00) [2]
> kaktus (23.11.04 18:31)
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=168