![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
В приложенной картинке записи в гриде выделяются двумя цветами чтоб не сливались, как сделать так-же???? (cxdbgrid (Devexprees))
|
|
#2
|
||||
|
||||
|
У TableView свойство Style.ContentOdd. У этого стиля изменить Color.
|
| Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
Ekler1 (03.11.2017)
| ||
|
#3
|
|||
|
|||
|
Цитата:
|
|
#4
|
|||
|
|||
|
А в обычном DBGrid можно такое сделать?
|
|
#5
|
||||
|
||||
|
Можно, нужно раскрашивать строки "под зебру" в DrawColumnCell
Код:
var i: integer = 0;
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
with Sender as TDBGrid do
begin
if(DataCol = 0) then inc(i);
if (i mod 2 = 0) then
begin
Canvas.Font.Color := clBlack;
Canvas.Brush.Color:= clCream;
end else
begin
Canvas.Font.Color := clBlack;
Canvas.Brush.Color:= clWhite;
end;
DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end; |
|
#6
|
|||
|
|||
|
Цитата:
|
|
#7
|
||||
|
||||
|
Этот кусман был проверен на подопытной DBGrid - если не щёлкать по строчкам дибисетки, то они нормально "полосатятся", есть проблема в нарушении чётности при последующих манипуляциях, но видимо, решается это предварительным возвратом дефолтных значений кистей каждый раз перед прорисовкой колонок
|
|
#8
|
|||
|
|||
|
Цитата:
Точнее все строки красятся в цвет который Код:
var i: integer = 0;
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
with Sender as TDBGrid do
begin
if(DataCol = 0) then inc(i);
if (i mod 2 = 0) then
begin
Canvas.Font.Color := clBlack;
Canvas.Brush.Color:= clCream; - Вот в этот!
end else
begin
Canvas.Font.Color := clBlack;
Canvas.Brush.Color:= clWhite;
end;
DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end; |
|
#9
|
||||
|
||||
|
Вот ещё вариант
Код:
var
flg: boolean = true;
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if DataCol = 0 then flg:= not flg;
with Sender as TDBGrid do
begin
Canvas.Font.Color := clBlack;
if flg then
Canvas.Brush.Color:= clCream
else
Canvas.Brush.Color:= clWhite;
DefaultDrawColumnCell(Rect, DataCol, Column, State);
end; {with}
end; |
|
#10
|
|||
|
|||
|
Цитата:
Проверил оба кода работают на D7(( А на RAD Studio XE7 не хочет((( |
|
#11
|
||||
|
||||
|
Цитата:
|
|
#12
|
||||
|
||||
|
Используйте библиотеку Ehlib. Там раскраска ячеек делается элементарно. И не только чётный/нечётный, но и гораздо более замысловатая.
Последний раз редактировалось Guaho, 28.11.2017 в 00:39. |
|
#13
|
|||
|
|||
|
Цитата:
|