DataView Değiştirme
temel alınan tablodaki DataView veri satırlarını eklemek, silmek veya değiştirmek için öğesini kullanabilirsiniz. DataView'u kullanarak temel tablodaki verileri değiştirme özelliği, DataView'un üç Boole özelliğinden biri ayarlanarak denetlenır. Bu özellikler , AllowEditve AllowDeleteşeklindedirAllowNew. Bunlar varsayılan olarak true olarak ayarlanır.
AllowNew true ise, yeni DataRowViewbir oluşturmak için DataView yöntemini kullanabilirsinizAddNew. DataRowView yöntemi çağrılana kadar EndEdit temel alınan DataTable satıra yeni bir satır eklenmediğini unutmayın. CancelEdit DataRowView yöntemi çağrılırsa, yeni satır atılır. Aynı anda yalnızca bir DataRowView düzenleyebileceğinizi de unutmayın. Bekleyen bir satır varken DataRowView'un AddNew veya BeginEdit yöntemini çağırırsanız EndEdit, bekleyen satırda örtük olarak çağrılır. EndEdit çağrıldığında, değişiklikler temel alınan DataTable'a uygulanır ve daha sonra DataTable, DataSet veya DataRow nesnesinin AcceptChanges veya RejectChanges yöntemleri kullanılarak işlenebilir veya reddedilebilir. AllowNew false ise, DataRowView'un AddNew yöntemini çağırırsanız bir özel durum oluşturulur.
AllowEdit true ise, DataRowView aracılığıyla Bir DataRow içeriğini değiştirebilirsiniz. DataRowView.EndEdit kullanarak temel satırdaki değişiklikleri onaylayabilir veya DataRowView.CancelEdit kullanarak değişiklikleri reddedebilirsiniz. Aynı anda yalnızca bir satırın düzenlenebileceğini unutmayın. Bekleyen bir satır varken DataRowView'un AddNew veya BeginEdit yöntemlerini çağırırsanız EndEdit, bekleyen satırda örtük olarak çağrılır. EndEdit çağrıldığında, önerilen değişiklikler temel alınan DataRow'un Geçerli satır sürümüne yerleştirilir ve daha sonra DataTable, DataSet veya DataRow nesnesinin AcceptChanges veya RejectChanges yöntemleri kullanılarak işlenebilir veya reddedilebilir. AllowEdit false ise, DataView'da bir değeri değiştirmeye çalışırsanız bir özel durum oluşturulur.
Mevcut bir DataRowView düzenlendiğinde, temel alınan DataTable olayları önerilen değişikliklerle yine tetiklenir. Temel alınan DataRow'da EndEdit veya CancelEdit çağrısı yaparsanız, EndEdit veya CancelEdit'in DataRowView'da çağrılıp çağrılmadığına bakılmaksızın bekleyen değişikliklerin uygulanacağını veya iptal edileceğini unutmayın.
AllowDelete true ise, DataView veya DataRowView nesnesinin Delete yöntemini kullanarak DataView'dan satırları silebilirsiniz ve satırlar temel alınan DataTable'dan silinir. Daha sonra sırasıyla AcceptChanges veya RejectChanges kullanarak silmeleri işleyebilir veya reddedebilirsiniz. AllowDelete false ise, DataView veya DataRowView'un Delete yöntemini çağırırsanız bir özel durum oluşturulur.
Aşağıdaki kod örneği, satırları silmek için DataView'un kullanılmasını devre dışı bırakır ve DataView kullanarak temel tabloya yeni bir satır ekler.
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();