![]() |
Node eindeutig identifizieren, JvPageListTreeView
Hallo alle...
...auch wenn es JvPageListTreeView ist ist es von CustomTreeView abgeleitet. Prinzipielle Frage: Problem: - ich rufe auch aus anderen Fenstern die Einstellungen mit der entsprechenden Page auf. - dazu muß ich den entsprechenden Eintrag der PageListTreeView auswählen. Dann wird die entsprechende Page aktiviert. - über den Index des Items kann ich den Eintrag "select" ausführen. nun zum Problem: - wenn ich irgendwann einen Eintrag in der PageListTreeView hinzufüge sind sämtliche Indexe verändert, da ich den Tree alphabetisch sortiert haben möchte. - d.h. daß im Quelltext der anderen Fenster die Zuordnungen nicht mehr stimmen. Da es sich um nicht gerade wenige Aufrufstellen im Programm handelt gefällt mir das gar nicht. - rückwärts über Veränderung der Page verändert sich der Tree nicht mit :( Zusammenfassung: der Index ist nicht eindeutig, die verlinkte Page schon. Frage: - wie kann ich den Node eindeutig identifizieren unabhängig von der Sortierung und dem Index Danke für Infos... :hi: |
Re: Node eindeutig identifizieren, JvPageListTreeView
Frohe Weihnachten Andreas,
ich arbeite zwar nicht mit den Komponenten wie Du, sondern setze ein einfacher TreeView ein. Ich habe es aber so gelöst, dass ich an jeder Node ein Object hänge. Bis bald Chemiker |
Re: Node eindeutig identifizieren, JvPageListTreeView
Gehe doch einfach über die Eigenschaft Selected.
|
Re: Node eindeutig identifizieren, JvPageListTreeView
Liste der Anhänge anzeigen (Anzahl: 1)
|
Re: Node eindeutig identifizieren, JvPageListTreeView
Danke für die Infos...
Zitat:
...die anderen Ideen arbeite ich mal durch. PS: das mit dem Objekt anhängen verstehe ich nicht ganz :gruebel: Frohe Weihnachten allen... :P |
Re: Node eindeutig identifizieren, JvPageListTreeView
Versuch es mal mit der Eigenschaft .Tag
|
Re: Node eindeutig identifizieren, JvPageListTreeView
hatte ich auch schon im Sinn, aber nur der TreeView als gesamtes hat einen Tag. Die Nodes selbst haben keine Eigenschaften, welche ich mißbrauchen könnte.
Ich hatte schon so komische Ideen wie eine Image List mit leeren Images und jedem Node ein Image zuweisen und über den ImageIndex selektieren...fand ich aber zu sehr um die Ecke :roll: Danke... im Moment selektiere ich per Index:
Delphi-Quellcode:
da hätten wir noch die Möglichkeit per
JvPageListTreeView1.Items.Item[17].Selected:= True;
Delphi-Quellcode:
...nur weiß ich nicht wie ich den NODE identifiziere z.B. per Text :gruebel:
JvPageListTreeView1.Select( NODE );
PS: habe eben herausgefunden, daß meine o.g. komische Idee gar nicht realisierbar ist. :? |
Re: Node eindeutig identifizieren, JvPageListTreeView
Vielleicht hilft Dir ja diese Funktion weiter :
Delphi-Quellcode:
function TMainForm.TreeNodeSearch(aNode: TTreeNode; SearchItem: string): TTreeNode;
var I: Integer; begin result := nil; if (aNode = nil) or (SearchItem = '') then Exit; for I := 0 to aNode.Count - 1 do begin if SearchItem = aNode.Item[i].Text then begin Result := aNode.Item[i]; exit; end; end; end; |
Re: Node eindeutig identifizieren, JvPageListTreeView
Warum exit und dann auch noch zweimal?
Delphi-Quellcode:
function TForm.TreeNodeSearch(aNode: TTreeNode; SearchItem: string): TTreeNode;
begin Result := nil; if (aNode.hasChildren) and (SearchItem <> '') then begin aNode:=aNode.GetFirstChild; while assigned(aNode) and not assigned(Result) do begin if SearchItem = aNode.Text then Result := aNode; aNode:=aNode.getNextSibling; end; end; end; |
Re: Node eindeutig identifizieren, JvPageListTreeView
Deine Funktion macht aber igrgendwie nicht das was meine macht.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz