DataGrid.RowValidationRules Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan aturan yang digunakan untuk memvalidasi data di setiap baris.
public:
property System::Collections::ObjectModel::ObservableCollection<System::Windows::Controls::ValidationRule ^> ^ RowValidationRules { System::Collections::ObjectModel::ObservableCollection<System::Windows::Controls::ValidationRule ^> ^ get(); };
public System.Collections.ObjectModel.ObservableCollection<System.Windows.Controls.ValidationRule> RowValidationRules { get; }
member this.RowValidationRules : System.Collections.ObjectModel.ObservableCollection<System.Windows.Controls.ValidationRule>
Public ReadOnly Property RowValidationRules As ObservableCollection(Of ValidationRule)
Nilai Properti
Aturan yang digunakan untuk memvalidasi data di setiap baris.
Contoh
Contoh berikut menunjukkan ValidationRule yang memeriksa apakah StartDate
nilai properti untuk Course
objek lebih awal dari nilai propertinya EndDate
. Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk topik Cara: Menerapkan Validasi dengan Kontrol DataGrid .
public class CourseValidationRule : ValidationRule
{
public override ValidationResult Validate(object value,
System.Globalization.CultureInfo cultureInfo)
{
Course course = (value as BindingGroup).Items[0] as Course;
if (course.StartDate > course.EndDate)
{
return new ValidationResult(false,
"Start Date must be earlier than End Date.");
}
else
{
return ValidationResult.ValidResult;
}
}
}
Public Class CourseValidationRule
Inherits ValidationRule
Public Overrides Function Validate(ByVal value As Object, _
ByVal cultureInfo As System.Globalization.CultureInfo) _
As ValidationResult
Dim course As Course = _
CType(CType(value, BindingGroup).Items(0), Course)
If course.StartDate > course.EndDate Then
Return New ValidationResult(False, _
"Start Date must be earlier than End Date.")
Else
Return ValidationResult.ValidResult
End If
End Function
End Class
Contoh berikut mengatur RowValidationRules properti di XAML. Properti ValidationStep diatur ke UpdatedValue sehingga validasi hanya terjadi setelah objek data terikat diperbarui. Saat pengguna menentukan tanggal akhir yang lebih awal dari tanggal mulai, tanda seru merah (!) muncul di header baris.
<DataGrid.RowValidationRules>
<local:CourseValidationRule ValidationStep="UpdatedValue"/>
</DataGrid.RowValidationRules>
Keterangan
Kontrol memungkinkan DataGrid Anda melakukan validasi pada tingkat sel dan baris. Dengan validasi tingkat sel, Anda memvalidasi properti individual objek data terikat saat pengguna memperbarui nilai. Dengan validasi tingkat baris, Anda memvalidasi seluruh objek data saat pengguna melakukan perubahan pada baris. Untuk membuat aturan validasi kustom, buat kelas yang berasal dari ValidationRule kelas dan terapkan Validate metode . Tambahkan aturan validasi kustom ke RowValidationRules koleksi.
ItemBindingGroup Jika properti digunakan, RowValidationRules properti diabaikan.