Tipp-Upload: VB.NET 0342: BindingSource.EndEdit/CancelEdit
von Spatzenkanonier
Über den Tipp
Dieser Tippvorschlag ist noch unbewertet.
Der Vorschlag ist in den folgenden Kategorien zu finden:
- Datenbanken und XML
- Listensteuerelemente
Dem Tippvorschlag wurden folgende Schlüsselwörter zugeordnet:
BindingSource,EndEdit,CancelEdit
Der Vorschlag wurde erstellt am: 07.02.2009 21:06.
Die letzte Aktualisierung erfolgte am 07.02.2009 21:12.
Beschreibung
Das in Tippvorschlag 340 (Dataset ohne Datenbank verwenden) zu Dataset.ReadXml() / .WriteXml() gesagte gilt auch für diesen Tipp in vollem Umfang. Als Variation wird hier jedoch ein "EinzelblattView" angezeigt. Außerdem wird die Wirkung von BindingSource.EndEdit() / .CancelEdit() demonstriert:
Üblicherweise wird ein in Bearbeitung befindlicher Datensatz von den Steuerelementen in genau dem Moment ins Dataset übernommen, wenn ein neuer Datensatz angewählt wird. Wie soll nun die Anwendung sich verhalten, wenn der "Speichern"-Button betätigt wird, während ein Datensatz in Bearbeitung ist?
Defaultmäßig wird er verworfen, denn er könnte ja auch nur halbfertig editiert sein.
Mit BindingSource.EndEdit() kann jedoch erzwungen werden, daß der aktuelle Datensatz ins Dataset übernommen wird, und somit mit abgespeichert.
Schwierigkeitsgrad |
Verwendete API-Aufrufe: |
Download: |
' Dieser Source stammt von http://www.activevb.de ' und kann frei verwendet werden. Für eventuelle Schäden ' wird nicht gehaftet. ' Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. ' Ansonsten viel Spaß und Erfolg mit diesem Source! ' ' Beachten Sie, das vom Designer generierter Code hier ausgeblendet wird. ' In den Zip-Dateien ist er jedoch zu finden. ' ----------- Anfang Projektgruppe EndEditDemo.sln ----------- ' ---------- Anfang Projektdatei EndEditDemo.vbproj ---------- ' -------------- Anfang Datei frmEinzelblatt.vb -------------- ' Angezeigt wird ein "Einzelblatt-View" der Kategorien: Links im Grid kann man eine ' Kategorie wählen, rechts ein Eingabe-Bereich, wo per Textbox die einzelnen Eigenschaften ' der angewählten Kategorie editiert werden können Public Class frmEinzelblatt Private _DataFile As String = "DBSample.DataSet.xml" Private Sub frmEinzelblatt_Load(ByVal sender As Object, ByVal e As EventArgs) Handles _ MyBase.Load Reload() End Sub Private Sub Button_Click(ByVal sender As Object, ByVal e As EventArgs) Handles _ btCancelEdit.Click, btEnforceEndEdit.Click, btReload.Click, btSave.Click Select Case True Case sender Is btSave Save() Case sender Is btReload Reload() Case sender Is btEnforceEndEdit Me.CategoryBindingSource.EndEdit() Case sender Is btCancelEdit Me.CategoryBindingSource.CancelEdit() End Select End Sub Private Sub Reload() Me.DBSampleDataSet.Clear() Me.DBSampleDataSet.ReadXml(_DataFile) End Sub Private Sub Save() Me.DBSampleDataSet.WriteXml(_DataFile) End Sub End Class ' --------------- Ende Datei frmEinzelblatt.vb --------------- ' ----------- Ende Projektdatei EndEditDemo.vbproj ----------- ' ------------ Ende Projektgruppe EndEditDemo.sln ------------
Diskussion
Diese Funktion ermöglicht es, Fragen, die die Veröffentlichung des Tipps betreffen, zu klären, oder Anregungen und Verbesserungsvorschläge einzubringen. Nach der Veröffentlichung des Tipps werden diese Beiträge nicht weiter verlinkt. Allgemeine Fragen zum Inhalt sollten daher hier nicht geklärt werden.
Folgende Diskussionen existieren bereits
Um eine Diskussion eröffnen zu können, müssen sie angemeldet sein.