Datagridview gruppieren

  • VB.NET

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

    Datagridview gruppieren

    Hallo Forum,

    könnt ihr mir helfen?

    unten habe ich ein Treeview mit Daten gefüllt, so ähnlich möchte ich eine Datagridview aufbauen bzw. gruppieren.
    wie gehe ich da vor?

    Spoiler anzeigen

    Brainfuck-Quellcode

    1. Public Sub _FillTeilestamm()
    2. tvteilestamm.Nodes.Clear()
    3. Dim Daten As String
    4. Daten = ("Provider=Microsoft.Jet.OLEDB.4.0;" & _
    5. "Data Source=\........\FSKFehlererfassung.mdb")
    6. Dim conn As New OleDb.OleDbConnection(Daten)
    7. conn.Open()
    8. Me.Cursor = Cursors.WaitCursor
    9. Dim cmd As New OleDb.OleDbCommand("SELECT tabTeilestamm.TeilestammID," & _
    10. "tabModule.ProduktID, " & _
    11. "tabModule.Bezeichnung," & _
    12. "tabTeilestamm.Teilenummer," & _
    13. "tabTeilestamm.Teilename " & _
    14. "FROM tabTeilestamm LEFT JOIN tabModule " & _
    15. "ON tabTeilestamm.IDProdukt=tabModule.ProduktID " & _
    16. "GROUP BY tabTeilestamm.TeilestammID,tabModule.ProduktID, " & _
    17. "tabModule.Bezeichnung,tabTeilestamm.Teilenummer, " & _
    18. "tabTeilestamm.Teilename", conn)
    19. Dim dr As OleDb.OleDbDataReader = cmd.ExecuteReader()
    20. Dim K As String
    21. Dim K0 As String = "" ' für Gruppenwechsel Module
    22. Dim T As String
    23. Dim T0 As String = "" ' für Teilenummer
    24. '-----------------------------------------------------------------------
    25. Dim KN As TreeNode ' für Knoten Module
    26. Dim AN As TreeNode ' Teilenummer anhängen
    27. Try
    28. While dr.Read()
    29. K = dr.GetValue(2) 'ROOT Node
    30. T = dr.GetValue(0) & "|" & dr.GetValue(3) & " ( " & dr.GetValue(4) & " )"
    31. If K <> K0 Then
    32. KN = tvteilestamm.Nodes.Add(K)
    33. KN.ImageIndex = 0
    34. KN.SelectedImageIndex = 0
    35. K0 = K
    36. End If
    37. AN = KN.Nodes.Add(T)
    38. AN.ImageIndex = 1
    39. AN.SelectedImageIndex = 1
    40. 'fn.ForeColor = Color.Red
    41. End While
    42. Catch ex As Exception
    43. Finally
    44. End Try
    45. dr.Close()
    46. conn.Close()
    47. Me.Cursor = Cursors.Default
    48. End Sub
    VB BB-Code benutzen

    VB.NET-Quellcode

    1. Public Sub _FillTeilestamm()
    2. tvteilestamm.Nodes.Clear()
    3. Dim Daten As String
    4. Daten = ("Provider=Microsoft.Jet.OLEDB.4.0;" & _
    5. "Data Source=\........\FSKFehlererfassung.mdb")
    6. Dim conn As New OleDb.OleDbConnection(Daten)
    7. conn.Open()
    8. Me.Cursor = Cursors.WaitCursor
    9. Dim cmd As New OleDb.OleDbCommand("SELECT tabTeilestamm.TeilestammID," & _
    10. "tabModule.ProduktID, " & _
    11. "tabModule.Bezeichnung," & _
    12. "tabTeilestamm.Teilenummer," & _
    13. "tabTeilestamm.Teilename " & _
    14. "FROM tabTeilestamm LEFT JOIN tabModule " & _
    15. "ON tabTeilestamm.IDProdukt=tabModule.ProduktID " & _
    16. "GROUP BY tabTeilestamm.TeilestammID,tabModule.ProduktID, " & _
    17. "tabModule.Bezeichnung,tabTeilestamm.Teilenummer, " & _
    18. "tabTeilestamm.Teilename", conn)
    19. Dim dr As OleDb.OleDbDataReader = cmd.ExecuteReader()
    20. Dim K As String
    21. Dim K0 As String = "" ' für Gruppenwechsel Module
    22. Dim T As String
    23. Dim T0 As String = "" ' für Teilenummer
    24. '-----------------------------------------------------------------------
    25. Dim KN As TreeNode ' für Knoten Module
    26. Dim AN As TreeNode ' Teilenummer anhängen
    27. Try
    28. While dr.Read()
    29. K = dr.GetValue(2) 'ROOT Node
    30. T = dr.GetValue(0) & "|" & dr.GetValue(3) & " ( " & dr.GetValue(4) & " )"
    31. If K <> K0 Then
    32. KN = tvteilestamm.Nodes.Add(K)
    33. KN.ImageIndex = 0
    34. KN.SelectedImageIndex = 0
    35. K0 = K
    36. End If
    37. AN = KN.Nodes.Add(T)
    38. AN.ImageIndex = 1
    39. AN.SelectedImageIndex = 1
    40. 'fn.ForeColor = Color.Red
    41. End While
    42. Catch ex As Exception
    43. Finally
    44. End Try
    45. dr.Close()
    46. conn.Close()
    47. Me.Cursor = Cursors.Default
    48. End Sub

    menorca schrieb:

    falsch gemacht
    @Lingo: ist der Meinung, dass Du den [VB]-Tag an Stelle des [code]-Tags hättest nehmen sollen.
    Leider war er nicht in der Lage, dies vernünftig zum Ausdruck zu bringen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Nein, sonst hätte ich Dir geantwortet. Lass mal den @ErfinderDesRades: hier reinsehen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!