Datensatz in Typisiertem Dataset dublizieren

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

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von Murdoc.

    Datensatz in Typisiertem Dataset dublizieren

    Hallo zusammen,

    ich versuche mich gerade an einem Fahrtenbuch und habe mir vorgenommen dieses auch "Finanzamtsicher" zu programmieren.
    Dies beiinhaltet unter anderem das Fahrten die bearbeitet oder gelöscht werden entsprechend markiert werden, aber in jedem Fall nicht gelöscht werden dürfen.

    Nun hätte ich es gerne so, das in der zu bearbeitenden FahrtRow ein wert gesetzt wird, z.B. Storno = true, und gleichzeitig sollen die bearbeiteten Daten als neuer Datensatz angelegt werden.

    Wie wäre der richtige weg, so etwas anzugehen?

    *Topic verschoben*
    Rechtschreibfehler betonen den künstlerischen Charakter des Autors.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    OK, eine Methode die einen Datensatz dupliziert habe ich hinbekommen.
    Aber richtig zufrieden bin ich damit nicht.
    Ich möchte ja das die bearbeiteten Datensätze in eine Neue Row eingesetzt werden, die alten hingegen sollen soweit unberührt bleiben.

    Eine Frage habe ich aber dennoch.
    Wenn ich die bearbeiteten Daten (bearbeitung findet auf einem DialogForm statt) in einen neuen Datensatz haben möchte,
    kann oder muss ich dazu die Inhalte der Controls auf der Form nehmen? Ist das sauberes Arbeiten , oder gibt es noch andere Möglichkeiten?

    Hier noch die Methode:

    VB.NET-Quellcode

    1. ​Private Sub KundeDuplizieren()
    2. If bsKunde.EditCurrent(Of dlgAddKunde) = DialogResult.OK Then
    3. Dim actRow = bsKunde.At(Of dts.KundeRow)
    4. Dim newRow = Dts.Kunde.AddKundeRow(actRow.Name, actRow.Vorname, actRow.Bearbeitet)
    5. actRow.Bearbeitet = True
    6. End If
    7. End Sub
    Rechtschreibfehler betonen den künstlerischen Charakter des Autors.
    @ErfinderDesRades
    Ich zeige keinen Code der in die Values oder ähnlichem der Controls grabscht. Das war auch nur eine Frage diesbezüglich.
    Der Code zeigt lediglich das duplizieren der aktuellen DataRow.

    @Murdoc
    Diese Tutorials kenne ich bereits, aber sicherlich habe ich etwas noch nicht mitgeschnitten. Nochmals lesen kann nicht schaden.
    Du kannst dir auch die Beispiele von EDR runter laden und dir den Code anschauen. Ich hab dir mal die Methode rausgesucht:


    VB.NET-Quellcode

    1. Private Sub DuplicateCategoryRight()
    2. Dim rwCat = DirectCast(DirectCast(CategoryBindingSource.Current, DataRowView).Row, CategoryRow)
    3. Dim rwCatNew = FourViewsDts.Category.AddCategoryRow(rwCat.Name)
    4. For Each rwArt In rwCat.GetArticleRows
    5. FourViewsDts.Article.AddArticleRow( _
    6. rwArt.Name, rwArt.Price, rwCatNew, rwArt.DelivererRow)
    7. Next
    8. End Sub


    Zu finden in frmCoding.
    Gruß Murdoc