Einzelnen Beitrag anzeigen

ratloser

Registriert seit: 4. Mai 2005
Ort: Linz
36 Beiträge
 
#5

Re: vst - ein leidiges Problem mit der Suche

  Alt 9. Jan 2006, 19:25
Hallo!

Bin schon ein klein wenig weiter!

Hab jetzt folgenden Code:

Delphi-Quellcode:
procedure TKalk.naechsteneintragsuchenClick(Sender: TObject);
var
  f ,run : PVirtualNode;
  suchobjekt: String;
begin
   suchobjekt := objauswsucherechnungsnummer.text;
   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;
Funzt eigentlich gut - nur mit einem Problem:

Ich gebe den Wert in ein Edit-Feld ein, wenn ich dann sofort, wie es eigentlich sein sollte, mit dem Button die Suche auslöse, dann passiert gar nichts.
vst.focusednode = false

Wenn ich den Wert in das Edit-Feld eingebe, dann einen Node am VST auswähle und dann auf den Button klicke funzt es.

Hat jemand eine Idee, wie ich das Klicken des ersten Nodes vor dem Klicken des Buttons umgehen kann.

Danke

Ratloser
Vielen Dank!

Konrad
  Mit Zitat antworten Zitat