Показать сообщение отдельно
  #1  
Старый 04.08.2010, 02:57
Kadekin Kadekin вне форума
Прохожий
 
Регистрация: 04.08.2008
Сообщения: 4
Репутация: 10
По умолчанию Помогите с DBGridEh

Вопрос заключатся в следующем!
Я использую в своем проекте DBGridEh и мне нужно
Одни столбцы закрасить
В другом изменить цвет шрифта.
Я делаю так

Код:
procedure TMain_Form.suiDBGridDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumnEh;
  State: TGridDrawState);
const
  clGreenMy = TColor($24EB07);
  clRedMy =   TColor($7370FC);
begin
  If Main_Vid_Type = 3 Then Exit;
//////////////////////////////////////////////
with  suiDBGrid.Canvas do begin
if (Column.Field.Dataset.FieldbyName('Gorod_rajon').AsString <> '') then begin
Brush.Color:=clGreenMy;
Font.Color:=clRedMy;
FillRect(Rect);
TextOut(Rect.Right-2-  TextWidth(Column.Field.Text),
  Rect.Top+2,Column.Field.Text)
end;


  If Column.FieldName = 'KAN1'    Then If Column.Field.Dataset.FieldbyName('KAN1').AsInteger <> 0        Then Begin suiDBGrid.Canvas.Brush.Color := clRedMy; suiDBGrid.Canvas.Font.Color := clRedMy; End Else Begin suiDBGrid.Canvas.Brush.Color := clGreenMy; suiDBGrid.Canvas.Font.Color := clGreenMy; End;
  If Column.FieldName = 'BOOT1'    Then If Column.Field.Dataset.FieldbyName('BOOT1').AsInteger <> 0        Then Begin suiDBGrid.Canvas.Brush.Color := clRedMy; suiDBGrid.Canvas.Font.Color := clRedMy; End Else Begin suiDBGrid.Canvas.Brush.Color := clGreenMy; suiDBGrid.Canvas.Font.Color := clGreenMy; End;
/////////////////////////////////////////////////////////////
suidbgrid.DefaultDrawColumnCell(rect,DataCol,Column,State);
   End;
end;

часть где я просто закрашиваю столбцы работает а вот с изменением шрифта и цвета не работает где я тут допустил ошибку??
Помогите !!!
Ответить с цитированием