Nasıl yapılır: Verileri Kaydetmeden Önce Verilere Bağlı Denetimler Üzerinde İşlem İçi Düzenlemeler Yürütme
Veriye bağlı denetimler değerleri düzenlerken kullanıcıların güncelleştirilmiş değeri denetimin bağlı olduğu temel veri kaynağı tamamlamaya geçerli kayıt dışı gitmesi gerekir.Öğeleri sürükleyerek Veri Kaynakları Penceresi bir form üzerine bıraktığınız ilk öğeyi kaydetme kodu üretir düğme tıklatma olay, BindingNavigator.Bu kod çağırır EndEdit yöntemi, BindingSource.Bu nedenle, çağrı EndEdit yöntemi yalnızca ilk için üretilen BindingSource forma eklenir.
EndEdit Çağrısı düzenlenmekte olan herhangi bir veriye bağlı denetimler işleminde değişiklikleri kaydeder.Odak ve bu nedenle, bir veri bağlama denetimi hala varsa, ' kaydetmek denetim kaydedilir, önce gerçek kaydetme, tüm düzenlemeler düğmesini ( TableAdapterManager.UpdateAll yöntemi).
Bir kullanıcı veri değişiklikleri kaydetme bir parçası olarak yapılıyor olmadan kaydetmeyi denediğinde bile otomatik olarak, değişiklikleri uygulamanızı yapılandırabilirsiniz işlemi.
[!NOT]
Tasarımcı ekler BindingSource.EndEdit kod yalnızca ilk öğe için bir form üzerine bıraktı.Bu nedenle, bir satırlık bir kod çağırmak için eklemek zorunda EndEdit yöntemi her BindingSource form üzerindeki.Bir satırlık bir kod çağırmak için el ile eklemeniz EndEdit yöntemi her BindingSource.Alternatif olarak, ekleme EndEditOnAllBindingSources forma yöntemi ve bir kayıt yapmadan önce çağırın.
Aşağıdaki kod bir LINQ (Dil ile Tümleşik Sorgu) tüm yineleme yapmak için sorgu BindingSource bileşenleri ve çağrı EndEdit yöntemi her BindingSource bir form üzerinde.
Bir formdaki tüm BindingSource bileşenleri EndEdit çağrısı yapmak için
Aşağıdaki kodu içeren formu ekleyin BindingSource bileşenleri.
Private Sub EndEditOnAllBindingSources() Dim BindingSourcesQuery = From bindingsources In Me.components.Components Where (TypeOf bindingsources Is Windows.Forms.BindingSource) Select bindingsources For Each bindingSource As Windows.Forms.BindingSource In BindingSourcesQuery bindingSource.EndEdit() Next End Sub
private void EndEditOnAllBindingSources() { var BindingSourcesQuery = from Component bindingSources in this.components.Components where bindingSources is BindingSource select bindingSources; foreach (BindingSource bindingSource in BindingSourcesQuery) { bindingSource.EndEdit(); } }
Kod form verileri kaydetmek için hemen aramaların önce aşağıdaki satırı ekleyin ( TableAdapterManager.UpdateAll() yöntemi):
Me.EndEditOnAllBindingSources()
EndEditOnAllBindingSources();
Ayrıca bkz.
Başvuru
BindingSource Bileşenine Genel Bakış
Kavramlar
Hiyerarşik Güncelleştirmeye Genel Bakış