Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Изменить цвет помеченых строк в DBGridEh


Автор: RGirichev 11.8.2006, 15:46
Изменить цвет помеченых строк в DBGridEh?

Автор: Fedia 12.8.2006, 02:50
К сожалению нет у DBGridEh события прорисовки строк. Для столбцов есть, а для строк нет. Поэтому можно использовать событие OnDrawDataCell. Поставь логическое поле первым в списке полей компонента доступа к таблице БД и попробуй этот вариант:
Код

var
  Form1: TForm1;
  FBoolValue: Boolean;

implementation

{$R *.dfm}

procedure TForm1.DBGridEh1DrawDataCell(Sender: TObject; const Rect: TRect;
  Field: TField; State: TGridDrawState);
begin
  if (Field.DataType=ftBoolean) and (Field.FieldName = 'BOOL') then
  FBoolValue := Field.Value;

  if FBoolValue then
  DBGridEh1.Canvas.Brush.Color:=$0066FF99 else
  DBGridEh1.Canvas.Brush.Color:=$0000FFFF;

  if Field.DataType<>ftBoolean then
  begin
    DBGridEh1.canvas.FillRect(Rect);
    if FBoolValue then
    DBGridEh1.canvas.Font.Color:=clBlue else
    DBGridEh1.canvas.Font.Color:=clBlack;
    DBGridEh1.canvas.TextOut(Rect.left+4, Rect.Top+1, Field.Value);
  end;
end;

BOOL из моего примера замени на название твоего логического поля.

Автор: LITEOMILL 24.1.2023, 02:50
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)