AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Treeview mit Spalten

Ein Thema von Alex_ITA01 · begonnen am 21. Sep 2004 · letzter Beitrag vom 21. Sep 2004
Antwort Antwort
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#1

Treeview mit Spalten

  Alt 21. Sep 2004, 13:39
Ich habe vorhin hier ein Thread aufgemacht wo es unter anderem darum ging, mit dem VirtualTreeView zu arbeiten.Sag mal bin ich blind oder existiert der Thread nicht mehr???Ich wollte nochmal was nachlesen....
Alex
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Treeview mit Spalten

  Alt 21. Sep 2004, 13:41
Schau hier.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#3

Re: Treeview mit Spalten

  Alt 21. Sep 2004, 13:41
Hi Alex,

sieh dir mal die einzelnen Daten der beiträge im Portal an
Und dann lies das hier: http://www.delphipraxis.net/internal...ct.php?t=34864

Greetz
alcaeus

[add]Grr...zu langsam[/add]
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#4

Re: Treeview mit Spalten

  Alt 21. Sep 2004, 13:47
Hi,

Konnte den Thread mal weitgehend aus dem Cache wiederherstellen:

Akut-Programming:

Zitat:
Wenn du einen Verzeichnisbaum darstellen willst, gibts unter D7 eigentlich Komponenten dafür. Weiß jetzt nur leider den Namen nicht. Bin z.Z. auf Arbeit und hier nutze ich (leider) D5. - D7 liegt zuhause. Schau doch einfach mal deine Komponentenpaletten durch, da solltes eigentlich was geben.
Igotcha :

Zitat:
Da kann ich nur den VirtualTreeview empfehlen!

Braucht zwar etwas, bis man die Methodik verstanden hat, aber wenn es dann soweit ist, möchtest Du das Ding nicht mehr missen - und super schnell ist er...

http://www.delphi-gems.com

Wenn Du Fragen hast, kannst Du Dich gerne an mich wenden, da ich mich selbst von vorne bis hinten durch das Teil durchgeackert habe. Das war nötig, da es die einzige Komponente war, die es mir erlaubte, meine "Vision" zu visualisieren

Gruß Igotcha
Alex_ITA01:

Zitat:
danke schön @Igotcha.
das ist genau das, was ich suchte.gefällt mir gut und wenn ich fragen hab,meld ich mich
MFG Alex
Zitat:
@igotcha...
ich habe mir das grade mal angeguckt.das ist schon eine ziemlich große Kompo
als anhang schicke ich mal ein programm mit, wie "meins" dann auch mal ungefähr aussehen soll.zumindest die funktionen sollten so sein.Weißt du wie das geht?denn die ganze virtual treeview kompo benötige ich nicht ganz.Ich will meine XML-Datei in einem Treeview darstellen und die Werte rechts ausgeben...
Gibts da ne "kleinere" Version der Kompo oder eine andere oder sollte ich doch lieber die VirtualTreeView nehmen?
MFG Alex
toms:

Zitat:
Ein xml treeview sample von VirtualTreeView findest du hier:
http://scripts.soft-gems.net/download.php?ID=65
Bernhard Geyer:

Zitat:
Oder falls ein paar € kosten darf, kannst Du auch den Tree vom ElPack ausprobieren.
Ist ähnlicher dem normalen TTree von Delphi.
Igotcha :

Zitat:
Also die VTV-Komponente ist erstmal nicht groß, ganz im Gegenteil. Denn was "groß" aussieht, ist nur die "Visualisierungsfähigkeit" von VTV, denn vielmehr macht der nämlich fast gar nicht

Der methodische "Trick" beim Umgang mit VTV ist nämlich, dass der VTV gar nichts über die Daten weiss, die er verwendet. Er kennt nur die Abhängigkeiten der einzelnen Nodes voneinander in Form einer verketteten Liste - deshalb gibt es auch keinen IDE-Editor wie z.B. beim normalen TreeView.

Die Daten, die Du in Deinem Programm darstellen willst, musst Du in eine Record-Struktur packen. Vereinfacht gesagt teilst Du dem VTV dann beim "Aufbauen" des Trees nur mit

- erstelle mir einen Root-Node, verlinkt auf diesen Recordeintrag oder
- erstelle mir einen CHild-Node zum Root-NodeXY, verlinkt auf diesen Recordeintrag

Das ist u.a. auch ein Grund, warum das Teil so verdammt schnell ist, denn die Daten selbst verwaltest Du.

Mal ein ganz rudimentäres Beispiel (keine Funktionalität garantiert ):
Delphi-Quellcode:
type
  PDataRecord= ^TDataRecord;
  TDataRecord= record
  strFilename: String;
  iFilesize: double;
end;

...

procedure BuildTree(aTree: TVirtualStringTree);
var
aktueller_knoten, position : PVirtualNode;
myData: pDataRecord;
begin
aTree.Clear;
aTree.NodeDataSize:=sizeof(TDataRecord);
atree.BeginUpdate;
aktueller_knoten:=atree.AddChild(nil);
myData:=atree.GetNodeData(aktueller_knoten);
myData.strFileName:='Test'; // Wo Du jetzt diese Daten her bekommst, ist Dein Problem ;-)
myData.iFilesize:=10000;
atree.EndUpdate;
end;

Dann benötigst Du noch das Ereignis "onGetText", in dem Du die anzuzeigenden Daten formatieren kannst:

procedure TfrmMain.MYVTVGetText(Sender: TBaseVirtualTree;
  Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
  var CellText: WideString);
var
  myData : pRecordData;
begin
  myData:=MYVTV.GetNodeData(node);
  if TextType=ttNormal then
  begin
    case Column of
      0: CellText:=myData.strFilename;
      1: CellText:=format('8.0n',[myData.iFileSize]);
    end;
end;
Zitat:
Das ist kurz umrissen die grundsätzliche Funktionsweise des VTVs. Wie gesagt, im Vergleich zum normalen TreeView eine völlig andere Methodik, dafür aber unbeschreiblich mächtiger.

Gruß Igotcha
Thomas
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#5

Re: Treeview mit Spalten

  Alt 21. Sep 2004, 13:52

ich dachte schon ich wäre blind ))
danke schön @toms, da war das richtige dabei...
viel spaß euch noch
MFG Alex
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:56 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