DataViews wijzigen
U kunt de DataView opdracht gebruiken om rijen met gegevens in de onderliggende tabel toe te voegen, te verwijderen of te wijzigen. De mogelijkheid om de DataView te gebruiken om gegevens in de onderliggende tabel te wijzigen, wordt bepaald door een van de drie Booleaanse eigenschappen van de DataView in te stellen. Deze eigenschappen zijn AllowNew, AllowEditen AllowDelete. Ze zijn standaard ingesteld op true .
Als AllowNew waar is, kunt u de AddNew methode van DataView gebruiken om een nieuwe DataRowViewte maken. Houd er rekening mee dat er pas een nieuwe rij wordt toegevoegd aan de onderliggende DataTable rij als de EndEdit methode van DataRowView wordt aangeroepen. Als de CancelEdit methode van DataRowView wordt aangeroepen, wordt de nieuwe rij verwijderd. Houd er ook rekening mee dat u slechts één DataRowView tegelijk kunt bewerken. Als u de methode AddNew of BeginEdit van de DataRowView aanroept terwijl er een rij in behandeling is, wordt EndEdit impliciet aangeroepen in de rij in behandeling. Wanneer EndEdit wordt aangeroepen, worden de wijzigingen toegepast op de onderliggende gegevenstabel en kunnen ze later worden doorgevoerd of geweigerd met behulp van de methoden AcceptChanges of RejectChanges van het object DataTable, DataSet of DataRow. Als AllowNew onwaar is, wordt er een uitzondering gegenereerd als u de Methode AddNew van de DataRowView aanroept.
Als AllowEdit waar is, kunt u de inhoud van een DataRow wijzigen via DataRowView. U kunt wijzigingen in de onderliggende rij bevestigen met Behulp van DataRowView.EndEdit of de wijzigingen negeren met DataRowView.CancelEdit. Houd er rekening mee dat slechts één rij tegelijk kan worden bewerkt. Als u de methoden AddNew of BeginEdit van de DataRowView aanroept terwijl er een rij in behandeling is, wordt EndEdit impliciet aangeroepen op de rij in behandeling. Wanneer EndEdit wordt aangeroepen, worden voorgestelde wijzigingen in de huidige rijversie van de onderliggende DataRow geplaatst en kunnen ze later worden doorgevoerd of geweigerd met behulp van de methoden AcceptChanges of RejectChanges van het object DataTable, DataSet of DataRow. Als AllowEdit onwaar is, wordt er een uitzondering gegenereerd als u probeert een waarde in DataView te wijzigen.
Wanneer een bestaande DataRowView wordt bewerkt, worden er nog steeds gebeurtenissen van de onderliggende gegevenstabel gegenereerd met de voorgestelde wijzigingen. Houd er rekening mee dat als u EndEdit of CancelEdit aanroept in de onderliggende DataRow, wijzigingen die in behandeling zijn, worden toegepast of geannuleerd, ongeacht of EndEdit of CancelEdit wordt aangeroepen in DataRowView.
Als AllowDelete waar is, kunt u rijen uit DataView verwijderen met behulp van de methode Delete van het DataView- of DataRowView-object en worden de rijen verwijderd uit de onderliggende gegevenstabel. U kunt de verwijderingen later doorvoeren of negeren met respectievelijk AcceptChanges of RejectChanges . Als AllowDelete onwaar is, wordt er een uitzondering gegenereerd als u de methode Delete van de DataView of DataRowView aanroept.
Het volgende codevoorbeeld schakelt het gebruik van DataView uit om rijen te verwijderen en voegt een nieuwe rij toe aan de onderliggende tabel met behulp van DataView.
Dim custTable As DataTable = custDS.Tables("Customers")
Dim custView As DataView = custTable.DefaultView
custView.Sort = "CompanyName"
custView.AllowDelete = False
Dim newDRV As DataRowView = custView.AddNew()
newDRV("CustomerID") = "ABCDE"
newDRV("CompanyName") = "ABC Products"
newDRV.EndEdit()
DataTable custTable = custDS.Tables["Customers"];
DataView custView = custTable.DefaultView;
custView.Sort = "CompanyName";
custView.AllowDelete = false;
DataRowView newDRV = custView.AddNew();
newDRV["CustomerID"] = "ABCDE";
newDRV["CompanyName"] = "ABC Products";
newDRV.EndEdit();