BindingList als Source für Datagridview - Was mache ich falsch :0?

  • VB.NET

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

    BindingList als Source für Datagridview - Was mache ich falsch :0?

    Schaut mal bitte über folgenden Code und sagt mir was ich falsch mache :0?

    VB.NET-Quellcode

    1. Dim myList As New System.ComponentModel.BindingList(Of List(Of String))
    2. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    3. myList.Add(New List(Of String) From {"1", "2", "", "4"})
    4. Dim bs As New BindingSource
    5. bs.DataSource = myList
    6. DataGridView1.DataSource = bs
    7. End Sub


    Da kommt immer nur Capacity und son Quak, aber nicht die Inhalte?
    (Seid nicht zu hart, ich mach das das erste mal damit..)
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..
    Eine "Row" á 4 "Spalten" dachte ich :wacko: ..

    Naja es ist schon spät und ich sitz schon seit gestern früh morgens dran ;)..
    (Nicht speziell an diesem Problem, allerdings am Programm..)


    Ps: Kann man diesen Count und Capacity Quak auch deaktivieren, sodass die beiden Spalten nicht angezeigt werden?
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..
    nein, da ist keine Row drin - was soll das sein - Row?

    Da ist eine List(Of String) drinne - guck nochmal den Code an - hast du ja selbst reingetan, deshalb ist die da drinne.

    Eine List(Of String) hat aber keine Spalten.

    Rootbob91 schrieb:

    Kann man diesen Count und Capacity Quak auch deaktivieren
    nicht wirklich.
    Der Fehler besteht darin, dass du eine List(Of String) addest.

    Mehr noch: Der Fehler besteht schon zuvor darin, dass die BindingList als BindingList(Of List(Of String)) deklariert ist - denn deshalb kann man halt nix anneres Adden, aber das ist ja ungeeignet.
    Ja an sich ist da keine "Row" vom DatagridviewRow-Typ drin, klar. Ich meinte das rein theoretisch..

    Ich check aber dann gerade nicht, wie ich das dann löse?

    Ich hab mich auch bereits durch einen anderen Thread in dem du auf was ähnliches geantwortet hast durchgelesen.


    Könntest du mir da bitte helfen :/.. Ich bekomms echt nicht gebacken.


    Ps: Zu deinem "Und mehr dazu":
    Ich dachte das müsste ich so lösen, damit ich damit praktisch dieses Row und Spalten-Prinzip simuliere (weil ich dachte das wäre erforderlich).
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Rootbob91“ ()

    ja, du brauchst eine Row-Klasse. List(Of String) ist aber keine Row-Klasse.

    Eine Row-Klasse zeichnet sich dadurch aus, dass sie verschiedene Properties hat (welche man auch als "Spalte" auffassen kann).
    Also schreib eine Row-Klasse (oder nimm typisiertes Dataset).
    Jetzt habe ich die BindingList als List(Of Class) also einer Klasse mit diversen Variablen/Propertys deklariert, jetzt zeigt er zumindest diese Capacity etc. nicht mehr an und füllt das DGV sogar mit der richtigen Anzahl an Reihen, allerdings hat keine DatagridviewCell einen Inhalt, die sind alle leer :/.
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..
    Hab ich gerade überprüft und wollte ich dir schreiben, wenn ich zum Beispiel folgendes ausgeben lasse, dann kommt die richtige Zahl..

    VB.NET-Quellcode

    1. MsgBox(myList(0).ID)


    Habs auch gerade alle nochmal in ner For Each Schleife ausgeben lassen, die Inhalte stimmen alle.


    Sieht dann im Größeren ungefähr so aus:

    VB.NET-Quellcode

    1. Dim myList As New System.ComponentModel.Bindinglist(of Class1)
    2. Public Class1
    3. Public ID As Integer
    4. Public Meldung As String
    5. End Class
    6. Private Sub FormLoad(..) Handles..
    7. Datagridview1.Datasource = myList
    8. End Sub


    Da die Class korrekt befüllt wird (da getestet) habe ich das befüllen jetzt mal weggelassen.


    EDIT!!!:
    Ich habe endlich den Fehler gefunden, mein Code hat soweit gestimmt, dass einzige Problem an der ganzen Geschichte war, dass die oben genannte Art nur funktioniert, wenn ich der jeweiligen Klasse mit ddie entsprechendenen Properties mitliefere.. Ich dachte er würde die Infos direkt aus den Variablen holen, aber er braucht konkrete Properties, keine Variablen.

    Endlich kann ich beruhigt schlafen gehen ;)!
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..

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