Zitat:
wenn du mit der Komponente TTable arbeiten willst, dann kannst du nur tail recursion in der property Filter eintragen. Für erweiterte Suchmuster musst du einen event handler für das Ereignis OnFilterRecord schreiben. Im folgenden Beispiel gehe ich davon aus, dass du SearchStr mit 'x' initialisiert hast, deine Suche nicht case sensitive sein soll und nur String-Felder untersucht werden sollen:
Delphi-Quellcode:
procedure TDataForm.TableFilterRecord(DataSet: TDataSet;
var Accept: Boolean);
var
i: integer;
begin
with DataSet do
begin
Accept := false;
for i := 0 to Pred(FieldCount) do
begin
Accept := Accept or (Fields[i].DataType = ftString)
and AnsiContainsText(Fields[i].AsString, SearchStr);
if Accept then
Break;
end;
end;
end;
Also wenn ich das richtig sehe werden nur felder mit Typ ftString durchsucht. Aber es sollen ja alle Felder durchsucht werden. Also wenn der Suchwert eine 1 ist sollen alle Zahlenfelder(Integer und Fließkomma) durchsucht werden