Der Ansatz ist schon richtig, aber (mein Fehler
):
- deine Datenbank (welche verwendest du?) versteht kein LIKE
- der Trick mit dem * funktioniert scheinbar nur mit ClientDataSets!?
Deshalb mein Vorschlag:
- ClientDataSet benutzen und in diesem die Suche implementieren.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
DataSetProvider1.DataSet := ZQuery1;
ClientDataSet1.ProviderName := DataSetProvider1.Name;
ZQuery1.Open;
ClientDataSet1.Open;
ClientDataSet1.Data := DataSetProvider1.Data;
DataSource1.DataSet := ClientDataSet1;
DBGrid1.DataSource := DataSource1;
end;
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
DBGrid1.DataSource.DataSet.Filtered := CheckBox1.Checked;
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
DBGrid1.DataSource.DataSet.Filter := 'Bezeichnung = ''' + Edit1.Text + '*''';
end;