AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Node eindeutig identifizieren, JvPageListTreeView
Thema durchsuchen
Ansicht
Themen-Optionen

Node eindeutig identifizieren, JvPageListTreeView

Ein Thema von haentschman · begonnen am 24. Dez 2008 · letzter Beitrag vom 25. Dez 2008
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#1

Node eindeutig identifizieren, JvPageListTreeView

  Alt 24. Dez 2008, 09:29
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...
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Node eindeutig identifizieren, JvPageListTreeView

  Alt 24. Dez 2008, 10:10
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
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#3

Re: Node eindeutig identifizieren, JvPageListTreeView

  Alt 24. Dez 2008, 10:19
Gehe doch einfach über die Eigenschaft Selected.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Node eindeutig identifizieren, JvPageListTreeView

  Alt 24. Dez 2008, 11:26
Hey, hab noch ne Demo von:

Hier

vllt kann die dir helfen!

(unten Angehängt)
Angehängte Dateien
Dateityp: zip jvpagelisttreeviewmainform_demo_776.zip (8,3 KB, 35x aufgerufen)
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#5

Re: Node eindeutig identifizieren, JvPageListTreeView

  Alt 24. Dez 2008, 13:38
Danke für die Infos...

Zitat:
Gehe doch einfach über die Eigenschaft Selected.
...ich möchte aber einen bestimmten Node von "außerhalb" selektieren. Das geht einfach über den Index. Da aber bei Veränderungen des Tree´s der Index sich verändert würde ich das lieber anders identifizieren.

...die anderen Ideen arbeite ich mal durch.

PS: das mit dem Objekt anhängen verstehe ich nicht ganz


Frohe Weihnachten allen...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Node eindeutig identifizieren, JvPageListTreeView

  Alt 24. Dez 2008, 13:39
Versuch es mal mit der Eigenschaft .Tag
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#7

Re: Node eindeutig identifizieren, JvPageListTreeView

  Alt 24. Dez 2008, 13:43
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

Danke...

im Moment selektiere ich per Index:
JvPageListTreeView1.Items.Item[17].Selected:= True; da hätten wir noch die Möglichkeit per
JvPageListTreeView1.Select( NODE ); ...nur weiß ich nicht wie ich den NODE identifiziere z.B. per Text

PS: habe eben herausgefunden, daß meine o.g. komische Idee gar nicht realisierbar ist.
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#8

Re: Node eindeutig identifizieren, JvPageListTreeView

  Alt 24. Dez 2008, 15:28
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;
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Node eindeutig identifizieren, JvPageListTreeView

  Alt 24. Dez 2008, 15:47
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;
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#10

Re: Node eindeutig identifizieren, JvPageListTreeView

  Alt 24. Dez 2008, 15:51
Deine Funktion macht aber igrgendwie nicht das was meine macht.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz