Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > DBGrid1DrawColumnCell


Автор: Grom 7.8.2008, 08:11
Код

void __fastcall TForm1::DBGrid1DrawColumnCell(TObject *Sender,
      const TRect &Rect, int DataCol, TColumn *Column, TGridDrawState State)
{
if (ABSTable1->FieldByName("Не раб.")->Value==10)
{
DBGrid1->Canvas->Brush->Color=clGreen;
DBGrid1->Canvas->Font->Color=clWhite;
DBGrid1->Canvas->FillRect(Rect);
DBGrid1->Canvas->TextOut(Rect.Left+2,Rect.Top+2,Column->Field->Text);
}
}


закрышивается вся таблица а не нужная мне строка. Почему ? Добавление данных в таблицу происходит сразу строчками целиком (программа сама добавляет).

Автор: volvo877 7.8.2008, 08:52
Потому что:
Код

if(((TDBGrid*)Sender)->DataSource->DataSet->FieldByName("Не раб.")->Value == 10)
{
    // здесь меняешь цвета... только меняй их не для DbGrid1, а для (TDBGrid*)Sender ...
}

Автор: Grom 8.8.2008, 13:27
большое спасибо !

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