Bagikan melalui


DataGrid.RowValidationRules Properti

Definisi

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.

Berlaku untuk

Lihat juga