так я запоминаю нужный номер записи:
| Код | void __fastcall TForm1::DBGrid1CellClick(TColumn *Column) { ID=DBGrid1->DataSource->DataSet->FieldByName("Код")->Value; }
|
Далее закрашиваю все строки кроме выделенной:
| Код | void __fastcall TForm1::DBGrid1DrawColumnCell(TObject *Sender, const TRect &Rect, int DataCol, TColumn *Column, TGridDrawState State) { if(((TDBGrid*)Sender)->DataSource->DataSet->FieldByName("Код")->Value != ID){ DBGrid1->Canvas->Font->Color = clBlack; DBGrid1->Canvas->Brush->Color = clWhite; DBGrid1->Canvas->FillRect(Rect); DBGrid1->Canvas->TextOut(Rect.Left+2,Rect.Top+2,Column->Field->Text); } }
|
Вопрос в том, что при щелчке по строке она не выделяется,приходится ещё раз кликнуть или колесико мыши крутить. Почему так происходит?
|