DataRow.BeginEdit()

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

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    DataRow.BeginEdit()

    Huhu,

    kann mir bitte einer sagen, wozu BeginEdit() und EndEdit() gut sind?
    In meinem Programm funktioniert es mit und ohne gleichermaßen gut. Ich sehe das also gerade nur als Performancebremse.
    Danke.

    Viele Grüße,
    Oliver

    https://msdn.microsoft.com/de-de/library/system.data.datarow.beginedit(v=vs.110).aspx schrieb:

    BeginEdit method to put a DataRow into edit mode.">Verwenden der BeginEdit Übernahme einer DataRow in den Bearbeitungsmodus.
    In diesem Modus werden Ereignisse vorübergehend angehalten und teilt
    dem Benutzer mehr als eine Zeile ohne Auslösen der Regeln zur
    Überprüfung von Änderungen vornehmen.
    Zum Beispiel wenn müssen Sie sicherstellen, dass der Wert der Spalte
    für einen Gesamtbetrag der Werte für das soll entspricht und Spalten in
    einer Zeile haben, können Sie ablegen jede Zeile in den
    Bearbeitungsmodus, um die Validierung der Zeilenwerte unterbrechen, bis
    der Benutzer versucht, die Werte zu übernehmen.

    BeginEdit method is called implicitly when the user changes the value of a data-bound control; the EndEdit method is called implicitly when you invoke the AcceptChanges method for the DataTable object.">Die BeginEdit -Methode wird implizit aufgerufen, wenn der Benutzer den Wert eines datengebundenen Steuerelements; ändert die EndEdit Methode wird implizit aufgerufen, wenn Sie Aufrufen der AcceptChanges Methode für die DataTable Objekt.DataRow stores representations of the original and new proposed values."> In diesem Bearbeitungsmodus der DataRow speichert Verantwortung für die ursprünglichen und die neuen Werte vorgeschlagen.EndEdit method has not been called, you can retrieve either the original or proposed version by passing either DataRowVersion.Original or DataRowVersion.Proposed for the version parameter of the Item property."> Daher so lange die EndEdit -Methode nicht aufgerufen wurde, können Sie die ursprüngliche oder die vorgeschlagene Version abrufen, übergeben Sie entweder DataRowVersion.Original oder DataRowVersion.Proposed für die version Parameter von der Item Eigenschaft.CancelEdit method."> Sie können auch alle Bearbeitungsvorgänge an dieser Stelle abbrechen, durch den Aufruf der CancelEdit Methode.

    HasVersion method.">Um festzustellen, ob die Zeile einen ursprünglichen oder einen vorgeschlagenen Wert enthält, rufen Sie die HasVersion Methode.

    OliverSte schrieb:

    BeginEdit() und EndEdit()
    Das ist ein allgemeiner Pattern der Datenverarbeitung - allerdings gehört noch CancelEdit() dazu.
    Definiert ist dieser Pattern im IEditableObject-Interface.
    Das abstrakte Konzept sieht vor, dass du in einen Eingabe-Modus gehen kannst, und diesen jederzeit entweder mit EndEdit oder CancelEdit abschließen kannst.
    Im Falle CancelEdit werden die Eingaben verworfen und der vorherige Zustand wiederhergestellt.

    Hat man konkret nicht soo viel mit zu tun, weil das alles in den System.Data-Datenklassen fixnfertig eingebastelt ist.
    Spürbar wirds, wenn du im Dgv mit Esc eine Eingabe ungeschehen machen kannst.
    Und codeseitig kannste mit BindingSource.CancelEdit auch einen ganzen Datensatz zurücksetzen.
    Und so Geschichten.
    @FormFollowsFunction
    Hmm, da hätt ich vielleicht zuerst mal nachlesen sollen ...

    Danke schön. Ich glaub, ich hab's verstanden.

    @ErfinderDesRades
    Ich nutzte es nach einem XML-Import in ein DataSet und beim Übertragen der Daten in ein anderes DataSet.DataTable.
    Ist an dieser Stelle also völlig überflüssig, da der Benutzer nichts canceln kann, weil er auch nichts eingibt.