Показать сообщение отдельно
  #8  
Старый 05.03.2013, 21:41
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от Budjaka
...раскрасить ячейки...
Не знаю, как там насчёт отношений, SQL не моё, когда и кого нужно, но вот этот совет из ©Drkb::00595 раскрашивает ячейки или столбцы точно, в св.зелёный цвет, проверил
Код:
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;
Подставить лишь свои названия полей
Ответить с цитированием