Dil

DataView'ları Değiştirme

temel alınan tablodaki DataView veri satırlarını eklemek, silmek veya değiştirmek için öğesini kullanabilirsiniz. temel tablodaki verileri değiştirmek için DataView özelliğini kullanma yeteneği, DataView'in üç Boole özelliğinden biri ayarlanarak kontrol edilir. Bu özellikler , AllowNewve AllowEditşeklindedirAllowDelete. Bunlar varsayılan olarak true ayarlanır.

AllowNew true ise, AddNew yöntemi DataView kullanarak yeni bir DataRowView oluşturabilirsiniz. DataTable'nin EndEdit yöntemi çağrılana kadar temel alınan DataRowView'ya gerçekten yeni bir satır eklenmediğini unutmayın. CancelEdit öğesinin DataRowView yöntemi çağrılırsa, yeni satır atılır. Ayrıca, aynı anda yalnızca bir tane DataRowView düzenleyebileceğinizi unutmayın. Eğer bekleyen bir satır varken AddNew' nin BeginEdit veya DataRowView yöntemini çağırırsanız, EndEdit bekleyen satırda otomatik olarak çağrılır. Çağrıldığında, değişiklikler temel alınan EndEdit nesnesine uygulanır ve daha sonra DataTable veya AcceptChanges yöntemleri kullanılarak, RejectChanges, DataSet veya nesnesinde işlenebilir veya reddedilebilir. AllowNew false ise, AddNew nesnesinin yöntemini çağırırsanız bir özel durum oluşturulur.

AllowEdit true ise, bir DataRow aracılığıyla 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 mevcutken AddNew'nin BeginEdit veya DataRowView yöntemlerini çağırırsanız, EndEdit bekleyen satırda örtük olarak çağrılır. Çağrıldığında EndEdit, önerilen değişiklikler temel alınan Current satırının DataRow sürümüne yerleştirilir ve daha sonra AcceptChanges, RejectChanges veya nesnesinin veya DataRow 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 DataRowView düzenlendiğinde, altındaki DataTable olayları önerilen değişikliklerle yine harekete geçirilir. DataRow üzerinde EndEdit veya CancelEdit işlemini gerçekleştirirseniz, DataRow ile ilgili bekleyen değişiklikler, EndEdit üzerinde CancelEdit veya yapılmış olsun ya da olmasın, uygulanacak veya iptal edilecektir.

Eğer AllowDeletetrue ise, DataView veya Delete nesnesinin DataView yöntemini kullanarak DataRowView öğesinden satırları silebilirsiniz ve satırlar altta yatan DataTable'dan silinir. Daha sonra, AcceptChanges kullanarak silmeleri onaylayabilir veya RejectChanges kullanarak reddedebilirsiniz. AllowDelete false ise, Delete veya DataView yöntemini çağırırsanız bir özel durum oluşturulur.

Aşağıdaki kod örneği, satır silmek için öğesinin kullanılmasını DataView 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();

Ayrıca bakınız