Guten Morgen,
bindingsoure.find findet nicht die richtige Postion.
Zum Anlegen eines neuen Datensatzes benutze ich folgenden Code:
Nun hat der user die Möglichkeit, die Neuanlage vor der Speicherung rückgäng zu machen, d.h. die neue Zeile wieder weg zunehmen:
Es wird immer die Zeile 0 entfernt
Im DGV sehe ich unter ID die 14.
bindingsoure.find findet nicht die richtige Postion.
Zum Anlegen eines neuen Datensatzes benutze ich folgenden Code:
Nun hat der user die Möglichkeit, die Neuanlage vor der Speicherung rückgäng zu machen, d.h. die neue Zeile wieder weg zunehmen:
VB.NET-Quellcode
- Dim DGVItem As Object
- Dim ZeilenIndex As Integer = Me.DGV_Standard.Rows.Count - 1
- Dim ZellenAnzahl As Integer = Me.DGV_Standard.Rows(ZeilenIndex).Cells.Count - 1
- Me.DGV_Standard.Rows(ZeilenIndex).Cells(1).ReadOnly = False
- If Me.Modus = "N" Then ' Neuanlage
- If Not Me.Part.Nummer = 100 Then ' Sonstige
- Me.DGV_Standard.EndEdit()
- Me.Validate()
- MsgBox("ID " & Me.DGV_Standard.Rows(ZeilenIndex).Cells(0).Value.ToString) ' Liefert 14
- DGVItem = CInt(Me.DGV_Standard.Item(0, ZeilenIndex).Value.ToString)
- MsgBox("DGVItem " & DGVItem.ToString) ' Liefert 14
- PPD.DataQuelle.Position = PPD.DataQuelle.Find("ID", CInt(DGVItem))
- MsgBox(PPD.DataQuelle.Position.ToString) ' Liefert 0
- PPD.DataQuelle.RemoveCurrent() ' Entfernt oberste Zeile im DGV
- End If ' Sonstige
- End If ' Neuanlage
Es wird immer die Zeile 0 entfernt
Im DGV sehe ich unter ID die 14.
Gruß Markus