Datengebundenes Datagridview Daten hinzufügen

  • VB.NET
  • .NET (FX) 3.0–3.5

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

    Datengebundenes Datagridview Daten hinzufügen

    Hallo,

    ich habe 2 Datengebundene Datagridviews (beide an eine jeweilige BindingList(Of T))

    Nun möchte ich die ausgewählten Zeilen aus dem einen Datagridview in das Andere bekommen.

    Bisher bin ich so ähnlich verfahren:
    - Datagridview SelectedRows Eigenschaft durchlaufen
    - Mithilfe des Indexes der jeweiligen Row das jeweilige BindingList Item abgegriffen und anhand dessen (mit einem passenden Konstruktor) ein neues Item mit den Eigenschaften des anderen der anderen BindingList hinzugefügt.

    Kann ich ggf. die jeweilige DataGridView Row einfach der anderen Auflistung des DGVs hinzufügen und er merkt automatisch, dass da ein neues Item ist, welches dann auch automatisch in der Auflistung der BindingList erscheint?

    Dann müsste ich natürlich noch auf doppelte Einträge prüfen, die möchte ich nicht^^.. Daher dachte ich da an eine Möglichkeit die Einträge nur von DGV1 nach DGV2 (und umgekehrt) zu "verschieben".

    Danke schonmal!

    Lg
    Polling is trolling!

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

    Rootbob91 schrieb:

    Nun möchte ich die ausgewählten Zeilen aus dem einen Datagridview in das Andere bekommen.
    Das ist datenbänkerisch gesehen Unfug, und vermischt schon wieder Gui und Daten.
    Bestenfalls möchtest Du einer anneren DataTable eine DataRow zufügen. Und das auch nur unter der Vorraussetzung, dass die Dgvs an verschiedene Tabellen gebunden sind. Oder dass ihre Bindingsources verschiedene Filter haben. Aber da liesse sich vlt. eher was mit einer einzelnen Spalte machen - kommt drauf an.

    Also mal wieder Frage nach dem Konzept: Was soll das werden?
    Bitte nicht mit Zellen und Spalten antworten, sondern mit dem Konzept, also was für eine Anwendung schreibst du, und welche Funktion soll darin dieser Double-Dgv-View erfüllen?

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

    Ich möchte sowas wie ein Quiz machen, da hat der User die Möglichkeit sich eigene Listen zusammenzustellen.

    Jede Liste kann natürlich aus dem Stamm aller Fragen gebaut werden. Alle ausgewählten Fragen aus dem Stamm, sollen sich dann in den BindingSource des anderen DGVs bewegen und dann nicht mehr im Source DGV verfügbar sein.

    EDIT: Habs!

    VB.NET-Quellcode

    1. 'Die Items holen
    2. Dim selectedItems = Me.dgv_Test1.SelectedRows.Cast(Of DataGridViewRow).Select(Function(row) row.DataBoundItem).Cast(Of Datentyp).ToArray()
    3. 'Die Items zur anderen Liste bewegen und löschen
    4. For Each item In selectedItems
    5. dgv_Test1.Remove(item)
    6. dgv_Test2.Add(item)
    7. Next

    Polling is trolling!

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

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

    Ich würde mich da echt gerne weiter rein arbeiten, also in die Dataset Geschichte.

    Allerdings fehlt mir dazu echt die Zeit. Das Projekt woran ich da basteln musste war auch schon was länger auf meinem PC, was ich wieder komplett umstricken müsste, daher hab ichs dann so gelassen.

    Ich kann mich wenn ich ehrlich bin erinnern, dass das erste Mal als ich diese Variante (also mit Datasets) verwendet habe, das debuggen etc. extrem verlangsamt wurde.
    Soweit ichs noch weiß, war das Dataset irgendwie mit nem TableAdapter (oder ähnliches.. weiß nicht mehr wies ging) "direkt" an der DB dran, dadurch hat der scheinbar irgendwas am Anfang mit der DB gefrimelt, was dann das Debuggen dermaßen verlangsamt hatte und an meinem PC lags sicher nicht^^ und weder noch an der Leitung, dafür habe ich gesorgt.

    Aber an sich gefällt mir deine Variante sowieso besser, ich versuche mich demnächst mal da durch zu arbeiten. Du sagtest ja schon öfters, dass es da viel bessere Möglichkeiten auf alles gibt.
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..
    Scheiß die Wand an :/..

    Daran hab ich gar nicht gedacht, aber sonst würde ich meiner Signatur nicht gerecht werden.
    Wobei ich denke, dass meine jetzige Methode für mich irgendwie Aussehens-technisch schöner rüber kommt, ist aber halt nur meine (gespaltene) Meinung.
    Polling is trolling!

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