Datagridview & DataMember

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von vico255.

    Datagridview & DataMember

    Guten Morgen.

    Ich habe mal schnell ein Beispiel gemacht.

    VB.NET-Quellcode

    1. Public Class test
    2. DataGridView1.DataSource = MeineKlasse.MeineListe
    3. DataGridView1.DataMember = "UElemente" '<-- Funktioniert nicht
    4. End Class
    5. Public Class Meineklasse
    6. Public Property MeineListe As New List(Of Elemente)
    7. End Class
    8. Public Class Elemente
    9. Public Property A As String
    10. Public Property B As String
    11. Public Property UElemente As Unterelemente
    12. End Class
    13. Public Class Unterelemente
    14. Public Property UA As String
    15. Public Property UB As String
    16. Public Property UC As String
    17. End Class


    Kann mir jemand sagen, wie ich nur die Unterelemente in einem DGV anzeigen lassen kann?

    Vielen Dank
    In Arbeit...
    @vico255 Was soll denn angezeigt werden?
    Ein Element namens "UElemente" gibt es ja wohl nicht.
    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!
    Warum gibt es das nicht?
    Datagridview UA / UB / UC

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Class test
    2. DataGridView1.DataSource = MeineKlasse.MeineListe
    3. DataGridView1.DataMember = "UElemente" '<-- Funktioniert nicht
    4. Public mk As New Meineklasse
    5. Public Sub u()
    6. mk.MeineListe.Add(New Elemente With {.A = "A", .B = "B", .UElemente = New Unterelemente With {.UA = "UA", .UB = "UB", .UC = "UC"}})
    7. End Sub
    8. End Class
    9. Public Class Meineklasse
    10. Public Property MeineListe As New List(Of Elemente)
    11. End Class
    12. Public Class Elemente
    13. Public Property A As String
    14. Public Property B As String
    15. Public Property UElemente As New Unterelemente
    16. End Class
    17. Public Class Unterelemente
    18. Public Property UA As String
    19. Public Property UB As String
    20. Public Property UC As String
    21. End Class
    In Arbeit...
    @vico255 Sorry, übersehen. :whistling:
    Probierma ne ListBox und dort die Property DisplayMember.
    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!
    Das klappt nur mit Listen. Das heißt, dass DataMember auf eine Liste zeigen muss, dann wird es im DGV angezeigt. Da Unterelemente aber keine Liste ist, wird es nicht angezeigt.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Stimmt @VaporiZed

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Class test
    2. Public mk As New Meineklasse
    3. Public Sub u()
    4. Dim newElement As New Elemente
    5. With newElement
    6. .A = "A"
    7. .B = "B"
    8. Dim newUElmente As New Unterelemente
    9. With newUElmente
    10. .UA = "UA"
    11. .UB = "UB"
    12. .UC = "UC"
    13. End With
    14. .UElemente.Add(newUElmente)
    15. End With
    16. mk.MeineListe.Add(newElement)
    17. End Sub
    18. End Class
    19. Public Class Meineklasse
    20. Public Property MeineListe As New List(Of Elemente)
    21. End Class
    22. Public Class Elemente
    23. Public Property A As String
    24. Public Property B As String
    25. Public Property UElemente As New BindingList(Of Unterelemente)
    26. End Class
    27. Public Class Unterelemente
    28. Public Property UA As String
    29. Public Property UB As String
    30. Public Property UC As String
    31. End Class


    So funktioniert es.

    VB.NET-Quellcode

    1. DataGridView1.DataSource = t.mk.MeineListe
    2. DataGridView1.DataMember = "UElemente"
    In Arbeit...