Nasıl yapılır: Sütun Değişiklikleri Sırasında Veri Doğrulama
Veri doğrulama, uygulamanızın veri girilen değerleri denetleme işlemidir.Alttaki veri deposu için güncelleştirmeleri gönderirken bu deðerleri denetimi durumsa uygulama ve veri depolama arasındaki olası sayısını azaltır, iyi bir uygulamadır.
[!NOT]
Dataset Designer burada doğrulama mantığını eklenebilir bir dataset nesnesine kısmi bir sınıf oluşturur.Tasarımcı tarafından oluşturulan dataset silmez veya kısmi sınıfındaki herhangi bir kodu değiştirin.Daha fazla bilgi için bkz. Nasıl yapılır: Bir Veri Kümesinin İşlevini Genişletme.
Yanıt olarak bir veri sütunundaki değeri değiştiğinde verileri doğrulayabilir ColumnChanging olay.Bu olay oluştuğunda, olay bağımsız değişken geçirir (ProposedValue) geçerli sütun için teklif değeri içerir.İçeriğini temel alarak e.ProposedValue, aşağıdakileri yapabilirsiniz:
Önerilen değer hiçbir şey yaparak kabul eder.
Önerilen değer sütunu hata ayarlayarak Reddet (SetColumnError) karşı da sütun değiştirme olay iþleyicisi içinde.
İsteğe bağlı olarak kullanan bir ErrorProvider denetim kullanıcıya bir hata iletisi görüntülenecek.Daha fazla bilgi için bkz. ErrorProvider Bileşeni (Windows Forms).
Doğrulama da gerçekleştirilebilir sırasında RowChanging olay.Daha fazla bilgi için bkz. Nasıl yapılır: Satır Değişiklikleri Sırasında Veri Doğrulama.
Verileri sütun olarak doğrulamak için değerleri değiştirin.
Sizin dataset açmak Dataset Designer.Daha fazla bilgi için bkz. Nasıl yapılır: Veri Kümesi Tasarımcısında bir Veri Kümesini Açma.
Doğrulamak istediğiniz sütununu çift tıklatın.Bu eylemi oluşturur ColumnChanging olay işleyicisi DataTable.
[!NOT]
Dataset Designer C# olayı için bir olay işleyicisi otomatik olarak oluşturmaz.Olayý iþlemek için gereken kod aşağıda yer almaktadır.
Doğrulamak için kod ekleme e.ProposedValue uygulamanızın gereksinimlerini karşılayan verileri içerir.Önerilen değer, kabul edilemez, hata içerdiğini belirtmek için sütun a ayarlayın.
Aşağıdaki kod örneği, bir sütun hatası ayarlar, Quantity 0 veya daha az sütun.Sütun değiştirme olay işleyicisi aşağıdakine benzer görünmelidir:
'Visual Basic Private Sub Order_DetailsDataTable_ColumnChanging(ByVal sender As System.Object, ByVal e As System.Data.DataColumnChangeEventArgs) _ Handles Me.ColumnChanging If (e.Column.ColumnName = Me.QuantityColumn.ColumnName) Then If CType(e.ProposedValue, Short) <= 0 Then e.Row.SetColumnError(e.Column, "Quantity must be greater than 0") Else e.Row.SetColumnError(e.Column, "") End If End If End Sub // C# // Add this code to the DataTable // partial class. public override void EndInit() { base.EndInit(); ColumnChanging += SampleColumnChangingEvent; } public void SampleColumnChangingEvent(object sender, System.Data.DataColumnChangeEventArgs e) { if (e.Column.ColumnName == QuantityColumn.ColumnName) { if ((short)e.ProposedValue <= 0) { e.Row.SetColumnError("Quantity", "Quantity must be greater than 0"); } else { e.Row.SetColumnError("Quantity", ""); } } }
Ayrıca bkz.
Görevler
İzlenecek Yol: Bir Windows Formunda Veri Görüntüleme
Nasıl yapılır: Windows Forms DataGridView Denetiminde Verileri Doğrulama
Nasıl yapılır: Bir Veritabanındaki Verilere Bağlanma