Letztes mal Treevier Überschrift

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von lris08.

    Letztes mal Treevier Überschrift

    Hi,

    meine letzte Frage zu Treeview...

    in unten genannte Code macht er mir folgende Aufstellung...

    VB.NET-Quellcode

    1. *--HauptReeNode
    2. | |
    3. | *--- SubTreeNode
    4. *--HauptReeNode
    5. | |
    6. | *--- SubTreeNode
    7. usw



    bestehe die Möglichkeit das ich das mit einer Überschrift ausstatten kann...

    Wie könnte ich es schaffen, daß er mit eine Überschrift macht!??

    so:

    VB.NET-Quellcode

    1. Kategorien
    2. |
    3. *--HauptReeNode
    4. | |
    5. | *--- SubTreeNode
    6. *--HauptReeNode
    7. | |
    8. | *--- SubTreeNode
    9. usw



    Danke-- weis ich nerv langsam damit :)

    LG


    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Sub FillTreeView(ByVal dt As DataTable)
    2. Me.TreeView1.BeginUpdate()
    3. Dim Tn As TreeNode
    4. For Each r As DataRow In dt.Rows
    5. Tn = New TreeNode((r("Kat_Tag").ToString))
    6. Tn.Tag = (r("ID").ToString)
    7. Tn.ImageIndex = 0
    8. Tn.SelectedImageIndex = 1
    9. If Convert.ToInt32(r("Kat_ParentID")) = 0 Then
    10. Me.TreeView1.Nodes.Add(Tn)
    11. End If
    12. FillTreeNode_Sub(Tn, dt, Convert.ToInt32(r("ID")))
    13. Next
    14. Me.TreeView1.EndUpdate()
    15. End Sub
    16. Public Sub FillTreeNode_Sub(ByRef tn As TreeNode, ByRef dt As DataTable, ByVal ID As Integer)
    17. Dim foundRows() As DataRow = dt.Select("Kat_ParentID = " + ID.ToString, "ID")
    18. Dim Tn_Sub As TreeNode
    19. For Each _r As DataRow In foundRows
    20. Tn_Sub = New TreeNode((_r("Kat_Tag").ToString))
    21. Tn_Sub.Tag = (_r("ID").ToString)
    22. Tn_Sub.ImageIndex = 0
    23. Tn_Sub.SelectedImageIndex = 1
    24. tn.Nodes.Add(Tn_Sub)
    25. FillTreeNode_Sub(Tn_Sub, dt, Convert.ToInt32(_r("ID")))
    26. Next
    27. End Sub
    hab mir jetzt zwar nicht deinen ganzen code durchgelesen (:D) aber ich denke du meinst das:

    VB.NET-Quellcode

    1. TreeView1.Nodes.Add("Kategorien")
    2. TreeView1.Nodes(0).Nodes.Add("Haupttreenode").Nodes.Add("Subtreenode")
    3. TreeView1.Nodes(0).Nodes.Add("Haupttreenode2").Nodes.Add("Subtreenode2")


    Gruß, Gugi :thumbup:
    jepp... Gugi warum verstehst du mich immer am besten ? :')

    und wie bringe ich nun meine "Auflistung" gem. ungen genannten Code unterhalb von TreeView1.Nodes.Add("Kategorien")
    noch rein ?

    VB.NET-Quellcode

    1. Private Sub Kat_Laden()
    2. Dim dt As DataTable = New DataTable("TreeView")
    3. Me.FillDataTable(dt)
    4. Me.FillTreeView(dt)
    5. Me.TreeView1.ExpandAll()
    6. TreeView1.CollapseAll()
    7. End Sub
    8. Public Sub FillDataTable(ByRef dt As DataTable)
    9. Try
    10. Dim sCN As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & Datenbankpfad & "\" & Datenbankname & ".mdb"
    11. Dim sql As String = "SELECT * FROM " & TableName08 & " ORDER BY ID"
    12. Dim cn As OleDb.OleDbConnection = New OleDb.OleDbConnection(sCN)
    13. Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(sql, cn)
    14. Dim cmd As OleDb.OleDbCommandBuilder = New OleDb.OleDbCommandBuilder(da)
    15. da.Fill(dt)
    16. Catch ex As OleDb.OleDbException
    17. MsgBox(ex.Message)
    18. End Try
    19. End Sub
    20. Public Sub FillTreeView(ByVal dt As DataTable)
    21. Me.TreeView1.BeginUpdate()
    22. TreeView1.Nodes.Add("Kategorien")
    23. Dim Tn As TreeNode
    24. For Each r As DataRow In dt.Rows
    25. Tn = New TreeNode((r("Kat_Tag").ToString))
    26. Tn.Tag = (r("ID").ToString)
    27. Tn.ImageIndex = 0
    28. Tn.SelectedImageIndex = 1
    29. If Convert.ToInt32(r("Kat_ParentID")) = 0 Then
    30. Me.TreeView1.Nodes.Add(Tn)
    31. End If
    32. FillTreeNode_Sub(Tn, dt, Convert.ToInt32(r("ID")))
    33. Next
    34. Me.TreeView1.EndUpdate()
    35. End Sub
    36. Public Sub FillTreeNode_Sub(ByRef tn As TreeNode, ByRef dt As DataTable, ByVal ID As Integer)
    37. Dim foundRows() As DataRow = dt.Select("Kat_ParentID = " + ID.ToString, "ID")
    38. Dim Tn_Sub As TreeNode
    39. For Each _r As DataRow In foundRows
    40. Tn_Sub = New TreeNode((_r("Kat_Tag").ToString))
    41. Tn_Sub.Tag = (_r("ID").ToString)
    42. Tn_Sub.ImageIndex = 0
    43. Tn_Sub.SelectedImageIndex = 1
    44. tn.Nodes.Add(Tn_Sub)
    45. FillTreeNode_Sub(Tn_Sub, dt, Convert.ToInt32(_r("ID")))
    46. Next
    47. End Sub

    jepp... Gugi warum verstehst du mich immer am besten ? :')

    das hab ich wegen den grafiken:

    Quellcode

    1. *--HauptReeNode
    2. | |
    3. | *--- SubTreeNode
    4. *--HauptReeNode
    5. | |
    6. | *--- SubTreeNode
    7. usw

    Quellcode

    1. Kategorien
    2. |
    3. *--HauptReeNode
    4. | |
    5. | *--- SubTreeNode
    6. *--HauptReeNode
    7. | |
    8. | *--- SubTreeNode
    9. usw




    und wie bringe ich nun meine "Auflistung" gem. ungen genannten Code unterhalb von TreeView1.Nodes.Add("Kategorien")
    noch rein ?

    dann musst du bei

    VB.NET-Quellcode

    1. TreeView1.Nodes(0).Nodes.Add("Haupttreenode").Nodes.Add("Subtreenode")

    statt der 0 die "position" eingeben(der 1. = 0, der 2. = 1 usw. )

    Gruß, Gugi :thumbup:
    sorry, verstehe ich nicht... kanns überhaupt nicht nachvollziehen...

    @Gugi - kannst ma des vielleicht bisserl genauer an meinem Code erklären?
    bekomme derzeit nur "Kategorie" mit aufgelistet... meine Auflistung aus der DB wird nach wie vor nicht unterhalb gelistet...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „lris08“ ()

    ok soweit habe ich es jetzt verstanden... Bilder sagen dann doch mal mehr als 1000 Worte :)


    Nun nur noch abschließende Frage: Wie mache ich es, praktisch eine Übergeordnete Kategorie die dann also von Hand vorgegeben wurde...

    TreeView1.Nodes.Add("Kategorien")

    und als Sub's dann auflisten lassen aus der DB?
    Verstehen und glaube ich doch nicht so richtig... :)

    Also unten gezeigtes Bild...

    Das Kategorie habe ich selbst angelegt, mit: TreeView1.Nodes.Add("Kategorien")

    und unter diesem Eintrag "Kategorie" sollen jetzt alle Kategorien aufgelistet werden - aus meiner Datenbank...
    dafür verwende ich derzeit diesem CodE:

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Sub FillTreeView(ByVal dt As DataTable)
    2. TreeView1.Nodes.Add("Kategorien")
    3. Dim Tn As TreeNode
    4. For Each r As DataRow In dt.Rows
    5. Tn = New TreeNode((r("Kat_Tag").ToString))
    6. Tn.Tag = (r("ID").ToString)
    7. Tn.ImageIndex = 0
    8. Tn.SelectedImageIndex = 1
    9. If Convert.ToInt32(r("Kat_ParentID")) = 0 Then
    10. Me.TreeView1.Nodes.Add(Tn)
    11. End If
    12. FillTreeNode_Sub(Tn, dt, Convert.ToInt32(r("ID")))
    13. Next
    14. Me.TreeView1.EndUpdate()
    15. End Sub
    16. Public Sub FillTreeNode_Sub(ByRef tn As TreeNode, ByRef dt As DataTable, ByVal ID As Integer)
    17. Dim foundRows() As DataRow = dt.Select("Kat_ParentID = " + ID.ToString, "ID")
    18. Dim Tn_Sub As TreeNode
    19. For Each _r As DataRow In foundRows
    20. Tn_Sub = New TreeNode((_r("Kat_Tag").ToString))
    21. Tn_Sub.Tag = (_r("ID").ToString)
    22. Tn_Sub.ImageIndex = 0
    23. Tn_Sub.SelectedImageIndex = 1
    24. tn.Nodes.Add(Tn_Sub)
    25. FillTreeNode_Sub(Tn_Sub, dt, Convert.ToInt32(_r("ID")))
    26. Next
    27. End Sub


    Und dieser Code soll mir alles das was in der Datenbank (MDB) drinnen ist unterhalb von "Kategorie" auflisten..

    So meinte ich das :)

    LG




    EDIT:

    Jetzt hab ich's hinbekommen...

    Danke Gugi... Hab mir das nochmal durch den Kopf gehen lassen...

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Sub FillTreeView(ByVal dt As DataTable)
    2. Dim Tn As TreeNode
    3. Tn = New TreeNode("Kategorie")
    4. Tn.ImageIndex = 0
    5. Tn.SelectedImageIndex = 1
    6. Tn.NodeFont = New Font(TreeView1.Font, FontStyle.Bold)
    7. Me.TreeView1.Nodes.Add(Tn)
    8. FillTreeNode_Sub(Tn, dt, Convert.ToInt32("0"))
    9. Me.TreeView1.EndUpdate()
    10. End Sub
    Bilder
    • Image6.png

      23,31 kB, 298×275, 105 mal angesehen

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „lris08“ ()