![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Подскажите как покрасить всю строку в один цвет на скрине две строки одна должна быть допустим красная как это сделать?
|
|
#2
|
||||
|
||||
|
Такое всегда в DrawCell выполняется, напр.
Код:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn;
State: TGridDrawState);
const
clPaleGreen = TColor($CCFFCC);
clPaleRed = TColor($CCCCFF);
begin
if Column.FieldName = 'Status' then //Удалите эту линию, если хотете закрасить целую линию
if Column.Field.Dataset.FieldbyName('Status').AsString <> 'a' then
if (gdFocused in State) {//имеет ли ячейка фокус? } then
dbgrid1.canvas.brush.color := clBlack //имеет фокус
else
dbgrid1.canvas.brush.color := clPaleGreen; //не имеет фокуса
//Теперь давайте закрасим ячейку используя стандартный метод:
dbgrid1.DefaultDrawColumnCell(rect, DataCol, Column, State)
end; |
|
#3
|
|||
|
|||
|
Не работает((( ставлю код и куча ошибок сразу показывает(
И ещё у меня на этой процедуре другой код есть это не может влиять на появление ошибок |