Noch ein kleines Problem bei der Suche:
Habe folgenden Code:
Delphi-Quellcode:
procedure TKalk.naechsteneintragsuchenClick(Sender: TObject);
var
f ,run : PVirtualNode;
suchobjekt: String;
begin
suchobjekt := objauswsucherechnungsnummer.text;
vst.selectednode := vst.getfirst;
// vst.setfocus;
if assigned(vst.FocusedNode) then begin
run := vst.FocusedNode;
run := run.NextSibling;
while Assigned(run) do begin
f := vst.IterateSubTree(run,ausfuehren,Pointer(suchobjekt),[],true,false);
if assigned(f) then begin
vst.FocusedNode := f;
vst.Selected[f] := true;
break;
end;
run := run.NextSibling;
end;
end;
end;
Delphi-Quellcode:
procedure Tkalk.ausfuehren(Sender: TBaseVirtualTree; Node: PVirtualNode;
Data: Pointer; var Abort: Boolean);
begin
Abort := vst.Text[Node,0] = objauswsucherechnungsnummer.Text;
end;
Nun meine Frage:
Die Nodes beinhalten Texte wie Namen und Arbeitsbeschreibungen
Die Suche funktioniert super - aber nur wenn ich den ganzen Text eingebe.
Wenn also ein Node 'Huber Martin' lautet, dann findet er es nur wenn ich 'Huber Martin' eingebe, aber nicht bei Huber.
Und noch ein kleiner Schönheitsfehler. Egal nach was ich suche, egal ob er es findet oder nicht, es wird immer der erste Node geöffnet.
Danke für Eure nochmalige Unterstützung bei diesem Thema
(ein wieder) Ratloser