Aus dgv-currentcell den zugehörigen Datatabe.index ableiten ?

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Mabbi.

    Aus dgv-currentcell den zugehörigen Datatabe.index ableiten ?

    Hi,

    ich habe einen ziemlich grossen data-table.
    Den stelle ich per binding-source teilweise in einem datagridview dar, über eine gefilterte dataview mit .rowfilter.
    Funktioniert soweit ganz gut.

    Nun möchte ich eine spezifische Zeile im Data-Table löschen.
    Genau die, die im DataGridView aktuell als .currentrow.index ausgewählt ist.

    Wenn ich nun das hier ausprobiere...

    VB.NET-Quellcode

    1. If MessageBox.Show("Aktuelle Zeile löschen?", "Frage", MessageBoxButtons.YesNo) = System.Windows.Forms.DialogResult.Yes Then
    2. 'Aktuelle Zeile aus Datatable loeschen
    3. With WorkTable
    4. .Rows(Me.DataGridView1.CurrentRow.Index).Delete()
    5. .AcceptChanges()
    6. End With
    7. End If


    Löscht er natürlich die falsche Zeile..die dgv ist gefiltert, es fehlen also viele Zeilen des data-tables. der "current" index der dgv weicht von dem echten row-index des data-table ab.
    Ich will nun nicht die ganze data-table mit der aktuellen dgv-Zeile vergleichen, bis ich die richtige Zeile gefunden habe.

    Gibt es einen sauberen Weg (ausser mit einer immer unsichtbaren Spalte mit der richtigen Nummerierung) die "echte" data-table Zeile zu bestimmen wenn ich in der dgv eine Zeile auswähle ?

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

    Warum nutzt du nicht den Bindingsource.Filter?
    Dann kannst du über Bindingsource.Current den korrekten Datensatz holen und entsprechend löschen.
    Nutzt du ein typisiertes DataSet?
    "Na, wie ist das Wetter bei dir?"
    "Caps Lock."
    "Hä?"
    "Shift ohne Ende!" :thumbsup:
    @tragl: nicht typisiert, ich lese eine .csv in den Data-Table direkt ein und binde diesen dann als source zur Darstelleung an eine dgv.

    Den dataview.rowfilter benutze ich zum ersten mal und habe damit problemlos alle Anforderungen darstellen können.
    Der Bindingsource.Filter sieht in der Funktion und Umsetzung sehr ähnlich aus.
    Ich schau mir das mal genauer an und probiere etwas rum.
    Vielen Dank.