Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Můžete použít DataView k přidání, odstranění nebo úpravě řádků dat v podkladové tabulce. Možnost použít DataView k úpravě dat v podkladové tabulce je řízena nastavením jedné ze tří logických vlastností DataView. Tyto vlastnosti jsou AllowNew, AllowEdita AllowDelete. Ve výchozím nastavení jsou nastavené na true hodnotu.
Pokud AllowNew je pravda, můžete použít AddNew metodu DataView k vytvoření nové DataRowView. Všimněte si, že nový řádek není ve skutečnosti přidán do podkladového DataTable, dokud není volána metoda EndEdit na DataRowView.
CancelEdit Pokud je volána metodaDataRowView, nový řádek se zahodí. Všimněte si také, že můžete upravovat jenom jeden DataRowView po druhém. Pokud při existenci čekajícího řádku zavoláte metodu AddNew nebo BeginEdit z DataRowView, bude na něm implicitně zavolána EndEdit. Při EndEdit zavolání se změny použijí u podkladového objektu DataTable a později je lze potvrdit nebo odmítnout pomocí AcceptChanges nebo RejectChanges metod DataTable, DataSet nebo DataRow objektu.
AllowNew je false, je vyvolána výjimka, pokud voláte metodu AddNewDataRowView.
Pokud AddNew nebo BeginEdit objektu DataRowView, zatímco čekající řádek existuje, EndEdit je implicitně volána na čekající řádek. Při EndEdit zavolání se navrhované změny umístí do Current verze řádku podkladového podkladu DataRow a lze je později potvrdit nebo odmítnout pomocí AcceptChanges nebo RejectChanges metod DataTable, DataSet nebo DataRow objektu. Pokud je AllowEditfalse, je vyvolána výjimka, pokud se pokusíte upravit hodnotu v DataView.
Při úpravách existujícího DataRowView budou události podkladového DataTable stále vyvolány s navrhovanými změnami. Všimněte si, že pokud voláte EndEdit nebo CancelEdit na podkladovém DataRow, změny čekající na zpracování se použijí nebo zruší bez ohledu na to, zda EndEdit nebo CancelEdit je volána na DataRowView.
Pokud AllowDelete je pravda, můžete odstranit řádky z DataView pomocí metody Delete objektu DataView nebo objektu DataRowView, a tyto řádky jsou odstraněny z podkladové tabulky DataTable. Odstranění můžete později potvrdit nebo odmítnout pomocí AcceptChanges nebo RejectChanges v uvedeném pořadí. Pokud AllowDelete je false, je vyvolána výjimka, pokud voláte Delete metodu DataViewDataRowView.
Následující příklad kódu zakáže použití DataView k odstranění řádků a přidá nový řádek do podkladové tabulky pomocí 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();