Announcement

Collapse
No announcement yet.

VB.NET Treeview mit SQL Datenbank füllen?

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

  • VB.NET Treeview mit SQL Datenbank füllen?

    Hallo,<br>
    <br>
    ich habe gehört, dass man die Treeview in VB.NET auch von einer SQL-Datenbank aus füllen kann. Somit wäre<br>
    sie besser zu pflegen. Kennt das jemand und wenn ja, wie geht so etwas?<br>
    <br>
    Gruß<br>
    <br>
    Angie</p>

  • #2
    Hallo,

    das folgende Beispiel füllt das TreeView mit den Daten aus 2 Tabellen aus der Northwind-Datenbank:
    <pre>
    Private aDR As DataRelation
    <br>
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Me.SqlDataAdapter1.Fill(Me.DataSet11, "Categories")
    Me.SqlDataAdapter2.Fill(Me.DataSet11, "Products")
    ' Master-/Detail-Beziehung
    aDR = New DataRelation("Product_Category", _
    DataSet11.Categories.CategoryIDColumn, _
    DataSet11.Products.CategoryIDColumn)
    DataSet11.Relations.Add(aDR)
    ' Daten im TreeView anzeigen
    Dim aTNParent, aTNChild As TreeNode
    Dim aRow As DataSet1.CategoriesRow
    Dim aChildRow As DataSet1.ProductsRow
    ' Master-Datensätze zuordnen
    For Each aRow In DataSet11.Categories.Rows
    aTNParent = TreeView1.Nodes.Add(aRow.CategoryName)
    aTNParent.Tag = aRow
    ' Detail-Datensätze zu jedem Master-Datensatz zuordnen
    For Each aChildRow In aRow.GetChildRows(aDR)
    aTNChild = aTNParent.Nodes.Add(aChildRow.ProductName)
    aTNChild.Tag = aChildRow
    Next
    Next
    End Sub
    </pre&gt

    Comment


    • #3
      Hallo Andreas,

      das klappt super. Das du das alles gleich so weißt finde ich toll. <BR>Die Zeilen waren ja noch nicht mal trocken hier, als deine Antwort <BR>schon kam. :-) Da fehlt mir ja noch viel<P>Naja Danke nochmal!<P> Gruß <P> Angi

      Comment


      • #4
        Hallo Andreas,<P>
        eine Frage ist mir jetzt beim Anfertigen der Treeview aufgefallen. Wie bekomme ich jetzt aber die Icons <BR>aus der Listview1 zugeordnet? Die musst ich doch sicher auch schon in SQL machen oder sehe ich das <BR>falsch? Es wäre ganz lieb, wenn du oder auch jemand anderes mir dies Frage beantworten kann.<P>Gruß<P>Angi

        Comment


        • #5
          Hi Angie,<br>verwende eine Imagelist und weise diese dem Treeview zu.<br>Michae

          Comment


          • #6
            Hallo,

            naja das meinte ich ja, eine Imagelist, wie weise ich die aber wenn ich die Daten aus der <BR> SQL-Datenbank hole zu? Normal kann ich es ja aber per SQL?<P>Gruß<P>Angi

            Comment


            • #7
              Hi Angie,<br>ist evtl einfacher als du denkst :-)<br>
              <PRE>
              // Zuweisung Imagelist
              TreeView.Items := Imagelist1;
              // Über das Node Objekt die Images aus der Imagelist dem Treeview zuordnen...
              MyTreeNode1.ImageIndex := 0;
              MyTreeNode1.SelectedIndex := 1;
              </PRE>
              <br> cu Michae

              Comment


              • #8
                Hallo Michael,

                das ist doch C# oder irre ich mich da? Passt das zu dem, was Andreas Kosch oben in der Antwort geschrieben hat? <p>Gruß<p> Angi

                Comment


                • #9
                  Hi Angie,<br>;-) Delphi... aber das müsstest du doch leicht nach VB bekommen. Es sind doch nur Objecteigenschaften.<br>Michae

                  Comment


                  • #10
                    Hallo Michael,

                    du traust mir aber viel zu, Danke. Siehst ja ich weiß nicht mal wie Delphi aussieht. Werde es mal versuchen, mal sehen ob was vernünftiges dabei rauskommt.<P>Gruß<P>Angi

                    Comment


                    • #11
                      Hi,<br>sorry, habe mich oben verschrieben...<br>
                      // Zuweisung Imagelist
                      TreeView.IMAGES := Imagelist1;
                      <br>Michae

                      Comment


                      • #12
                        Hallo <P> Leider habe ich das mit einer Mittelschicht dann nicht mehr hinbekommen. Ich finde die dort irgend wie die Spalte für den<BR> Knoten nicht, die ID, mit der er vergleicht. Die sollte doch dort auch zu finden sein, wenn diese bei Verweisen <BR>ordentlich eingebunden ist. Ich habe doch hier gelernt, dass eine 2 oder 3-schichtige Anwendung besser ist. <BR>Deshalb habe ich das so versucht. ich finde dsa Dataset und die Spalte für die Anzeige, aber nicht die <BR>ID-Nummer mit der er vergleicht, in welchen Knoten er gehört. Wie kann man das gestalten, wo liegt <BR>die Gefahrenstelle für Fehler? Das normale hier habe ich durchbekommen und auch Icons zugewiesen.<P>Es sollte doch nicht schwer sein, das ganze per COM+/Mittelschicht Schnittstelle abzuziehen und einen <BR>dritten Unterknoten hinzuzufügenaber es gelingt mir einfach nicht. Ich weiß jetzt einfach nicht mehr weiter.<P>Gruß<P>Angi

                        Comment


                        • #13
                          Hallo,<P> jetzt habe ich Dank Ihrer Unterstützung eine Lösung gefunden, in der ich alle Knoten in eine Tabelle schaffe und dann <BR>diese mit ID belege und in den anderen Spalten die Reihenfolge der Knoten festlege. Nun muss ich ja irgend wie die<BR> Knoten anprechen. Da dachte ich an AfterSelect aber da habe ich mich wohl geirrt? Entweder reicht schon ein<BR> Wackeln der Maus oder es passiert gar nichts. muss man da was bestimmtes beachten?<P>Gruß<P>Angi

                          Comment

                          Working...
                          X