Announcement

Collapse
No announcement yet.

TTreeView: Darstellung und auslesen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • TTreeView: Darstellung und auslesen

    Hallo,

    Erstens:

    Ich möchte in einem TreeView eine Möglichkeit finden den Baum jeweils nur bis zu einem bestimmten Level zu expandieren. Alle Nodes mit höherem Level bleiben unsichtbar. Die Leveltiefe sollte in der Anzeige veränderbar sein ohne den Baum neu einlesen zu müssen.

    Kennt jemand eine effiziente Lösung ?

    Zweitens:

    ich möchte den Baum ab einem bestimmten Node, welcher gerade selektiert ist, mit allen untergeordneten Nodes auslesen

    Welche Schleife ist sinnvoll ?

    Vielen Dank
    Helmut

  • #2
    Hallo Helmut,
    der folgende Source klappert rekursiv alle Nodes ab, die unterhalb des Paramters Node liegen:
    <pre>
    procedure TFormDocumentArchivarMain.TVSearchLoop(Node : TTreeNode;
    DocItems : TDocumentItems;
    const Fieldname : String);
    var
    TmpNode : TTreeNode;
    begin
    If Node<>Nil then
    SearchDocumentInFolder(Node,DocItems,Fieldname); // hier kann mit dem Node irgendwas gemacht werden.
    TmpNode:=Node.getFirstChild;
    While TmpNode<>Nil do
    begin
    TVSearchLoop(TmpNode,DocItems,Fieldname);
    TmpNode:=Node.getNextChild(TmpNode);
    end;
    end;
    </pre&gt

    Comment


    • #3
      Vielen Dank Jens!

      Jetzt fehlt mir nur mehr die Frage 1.

      Kann man einen Knoten (ev. mit einem Trick) auf not-visible schalten ?
      Collapsing und Expanded liefert nicht den gewünschten Effekt

      Comment


      • #4
        Hallo!<br>
        So als Denkansätze:<br>
        Das Ganze als Tabelle in einer Datenbank halten und eine der vielen DBTreeView Komponenten verwenden (gibt es glaube ich auch als FreeWare). Dann kannst Du ganz bequem per filter die einzelnen Knoten an und abschalten.<br>
        <br>
        Etwas heftiger aber dafür ohne Tabelle:<br>
        Zwei Treeviews aufbauen einer sichtbar und eiuner unsichtbar. Und jetzt immer die benötigten Knoten in die sichtbare Treeview verschieben.<br>
        <br>
        Wenn Du die erste Möglichkeit nimmst und bereit bist Geld für die Komponente auszugeben sieh Dir mal die Sachen bei Devexpress.com an! Absolut empfehlenswert!!!!<br>
        BYE BERN

        Comment


        • #5
          Noch mal ich:<br>
          Vielleicht besser als FreeWare: Die Komponenten von TurboPower sind jetzt bei Sourceforge verfügbar

          Comment


          • #6
            Gibt's denn bei TurboPower auch ein DBTreeView

            Comment


            • #7
              Hallo!<br>
              Scheinbar gibt es tatsächlich keinen DBTree... bei Turbopower. Sorry für die Fehlleitung!<br>
              Tja da bleibt dann nichts, als sich durch die diversen Komponentensammlungen zu kämpfen (Siehe hier im Forum die Links) oder Geld auf den Tsch zu legen.<br>
              Als DevExpress Fan rate ich zu letzerem.<br>
              BYE BERN

              Comment


              • #8
                Bei JEDI VCL gibt es einen freien DBTreeView (http://jvcl.sourceforge.net/

                Comment

                Working...
                X