AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TreeView - Werte zum Item speichern

Ein Thema von Salomon · begonnen am 19. Nov 2007 · letzter Beitrag vom 19. Nov 2007
Antwort Antwort
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#1

TreeView - Werte zum Item speichern

  Alt 19. Nov 2007, 10:49
hallo,
wie kann ich zu einem TreeView Item zusätzliche Infos speichern? z.B. einen Pointer auf eine eigene Datenstruktur?

Delphi-Quellcode:
var anode:TTreeNode;
  anode := TreeView.Items.Add(nil,'Root');
  TreeView.Items.AddChild(anode, 'First Child');
Die Funktionen zum Einfügen der Items habe dafür keine Option.

Gruß
Marcus
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#2

Re: TreeView - Werte zum Item speichern

  Alt 19. Nov 2007, 10:53
TreeView.Items.AddChildObject
Chris
  Mit Zitat antworten Zitat
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#3

Re: TreeView - Werte zum Item speichern

  Alt 19. Nov 2007, 11:09
Genau das habe ich gesucht
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#4

Re: TreeView - Werte zum Item speichern

  Alt 19. Nov 2007, 12:06
Okay, ich habe jetzt ein dynaisches Element an das Treeview Item gehängt. Jetzt könnte ich noch einen Tipp gebrauchen mit welchem Befehl ich wieder an das Datenelement rankomme Sowas wie "GetChildObject"

Für interessierte, so habe ich ein dynamisches Element erstellt und an ein TreeView Item gehängt.

Delphi-Quellcode:
Type
  TElementPointer = ^TElement;

  TElement = record
    DBKey : integer;
end;



procedure TFRM_AM_Administration.Button19Click(Sender: TObject);
var anode : TTreeNode;
   Pointer, Element : TElementPointer;
begin
  new (Element);
  Element.DBKey := 1;
  Pointer := Element;

  //showmessage(IntToStr(Pointer^.DBKey));

  TreeView.Items.AddChildObject(nil,'Hidden Data', Pointer);
end;
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#5

Re: TreeView - Werte zum Item speichern

  Alt 19. Nov 2007, 12:09
D2006 Hilfe:
Zitat:
TTreeNode.Data Eigenschaft

Zeigt auf die Daten, die mit einem Baumknoten verbunden sind.
Chris
  Mit Zitat antworten Zitat
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#6

Re: TreeView - Werte zum Item speichern

  Alt 19. Nov 2007, 12:20
Darauf bin ich auch gestoßen. Allerdings habe ich es noch nicht zum Laufen gebracht.

Der folgende Code lässt sich compilieren, allerdings bekomme ich einen "Listindex put of bound" Fehler. Egal ob ich 0 oder 1 als Item angeben.
Ich würde gerne an die Daten des selektierten Elementes kommen. Wundert mich, das ich da bei Item noch was angeben muss.

Delphi-Quellcode:
procedure TFRM_AM_Administration.Button20Click(Sender: TObject);
var Pointer : TElementPointer;
begin
  Pointer := TreeView.Selected.Item[1].Data;

  showmessage(IntToStr(Pointer^.DBKey));
end;
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#7

Re: TreeView - Werte zum Item speichern

  Alt 19. Nov 2007, 12:33
Mit "TreeView.Selected.Item[1].Data;" würdest du doch auf das 2. SubItem des Selektieren zeigen, müsste es nicht "TreeView.Selected.Data;" heißen?
Chris
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: TreeView - Werte zum Item speichern

  Alt 19. Nov 2007, 12:34
Hallo,

besser so:

Delphi-Quellcode:
procedure TFRM_AM_Administration.Button20Click(Sender: TObject);
var
  pElement: TElementPointer;
begin
  if Assigned(TreeView.Selected) and Assigned(Treeview.Selected.Data) then
  begin
    pElement := TreeView.Selected.Data;
    ShowMessage(IntToStr(pElement.DBKey));
  end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#9

Re: TreeView - Werte zum Item speichern

  Alt 19. Nov 2007, 12:54
@marabu: Das funktioniert sehr gut
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 04:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf