Ik zit met het volgende probleem: Ik heb een TDBGrid gekoppeld aan een TTable. Allemaal rechtoe-techtaan. Daar wil ik een tekst-filter op los laten. Nou heb ik al gegoogled en geleerd dat je de 'Filter' parameter daar niet voor kan gebruiken omdat die alleen werkt als de substring aan het begin zit. als alternatief wordt het gebruik van de OnFilterRecord event aangeraden. Goed. Geprobeerd en dat lijkt te werken. Alleen als er niks gevonden wordt krijg ik een error messagebox met de melding ""invalid variant type conversion".
Ik gebruik nu de volgende code:
Wanneer er niks door het filter komt heeft hij dus een probleem. Wat kan ik hier aan doen?
Ik gebruik nu de volgende code:
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
| void __fastcall TFormViewEditComponents::ButtonSearchClick(TObject *Sender) { if( Edit1->Text.Length() ) TableComponents->Filtered = true; else TableComponents->Filtered = false; } void __fastcall TFormViewEditComponents::TableComponentsFilterRecord( TDataSet *DataSet, bool &Accept) { Accept = DataSet->FieldByName("Description Local")->AsString.Pos( Edit1->Text ) ? true : false; } |
Wanneer er niks door het filter komt heeft hij dus een probleem. Wat kan ik hier aan doen?