Array mit daten erstellen von DataGridView

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von davyb.

    Array mit daten erstellen von DataGridView

    Hallo,
    ich habe ein DataGridView, diese wird mit ein Access MdB gebunden. Mein DataGridView zeigt mir die 3 Splaten.
    sieht so aus:


    Monat | Jahr | Action
    06 | 2013 | x1
    05 | 2013 | x1
    06 | 2013 | x2
    07 | 2013 | x1
    05 | 2013 | x1
    06 | 2013 | x3
    05 | 2013 | x2
    06 | 2013 | x4



    davon möchte ich gern ein Array erstellen mit verschiedene Werte.
    Die Array wäre:
    strArray(06/2013)
    strArray(05/2013)
    strArray(07/2013)

    und danach möchte ich die verschiedene Werte zur jeweilige array einfügen:
    zur strArray(06/2013) --- x1,x2,x3,x4
    zur strArray(05/2013) --- x1,x1,x2
    zur strArray(07/2013) --- x1

    Ich habe dieses Code um die Array zu erstellen

    VB.NET-Quellcode

    1. Dim strArray As New ArrayList
    2. Dim ArrayName
    3. For i = 0 To DATAGRIDVIEW.RowCount - 2
    4. ArrayName = DATAGRIDVIEW.Rows(i).Cells(0).Value & "/" & DATAGRIDVIEW.Rows(i).Cells(1).Value
    5. If strArray.Contains(ArrayName) = 0 Then
    6. strArray.Add(ArrayName)
    7. End If
    8. Next


    Mein Problem ist wie bekomme ich die Werte von Spalte 3 in die Array?

    Kann man so was machen? Mache ich das komplett verkehrt?

    Vielen Dank für eure Hilfe.

    Bien le bonjour ;)
    Davy BERNHARD
    Streich bitte die Buchstabenfolge ArrayList aus Deinem Vokabular, das ist Uralt-Ranz.
    Das ist die falsche Herangehensweise. Wenn Du ein DataBinding an Deinem DGV hast, solltest Du auf der DataSource, nicht aber auf dem DGV arbeiten.
    Wie hängt denn die Access MdB an dem DGV?
    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!
    Ich habe mein MDB mit die Funktion "Add DataSource" gefügt. Was mir ein DataSet und TableAdapterManager erstellt.
    Danach habe ich mein gewünschte Tabelle auf der DGV geschoben und es erstellet mit automatisch der TableBindingSource und TabelAdapter.
    OK.
    Das DGV ist nur das Anzeige-Medium.
    Versuch mal, mit dem DataSet zu arbeiten.
    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!
    jo, und was du da vorhast, das nennt man Gruppieren, und da gibts eine fabelhafte Linq-Anweisung für.

    allerdings brauchst du dafür wohl eine neue Tabelle, denn in obiger Tabelle hat jeder Eintrag nur eine Aktion, aber du willst wohl iwie mehrere Aktionen in eine Zeile stopfen.

    Wie willst du das hinkriegen, mehrere Aktionen in einen Datensatz zu stopfen?
    Die Frage ist unklar - was bedeutet bei dir "so was"?

    Gruppieren von Datensätzen? Ja, kannman machen.

    Mehrere Werte in nur eine Datensatz-Spalte stopfen? ist unsauber, aber mit Gewalt geht alles.
    Du kannst dir zB Nümmerken ausdenken für die Werte, und dann schreibst du in eine String-Spalte: "482795" - und damit sind 6 Werte in eine Spalte gestopft.

    Kapiert niemand, kann niemand was mit anfangen, aber Problem solved.


    Sauber wäre ein ParentChild-View, bei dem Datumse inne einen Tabelle (naja - Listbox täte hier mal reichen) präsentiert werden, und Aktionen inne anneren.
    Wennman dann inne Datumse eins auswählt wird auf die Aktionen-Tabelle ein Filter gesetzt, sodass nur die Aktionen dieses Datums angezeigt wern - das können dann man mehr oder weniger sein.

    Also ich brauch für sowas immer ein typisiertes Dataset - ich weiß ja nicht, wie du deine Werte ins DGV kriegst, jdfs. an eine MDB können sie nicht gebunden sein, denn an eine MDB kannman nicht binden. Man kann ein DGV an eine BindingSource binden, und die BindingSource an ein Dataset (oder anwas anneres).
    Das Dataset kannman dann ausse MDB befüllen - so ist die Funktionsweise.