DataGrid.RowValidationRules 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
각 행에 있는 데이터의 유효성을 검사하는 데 사용되는 규칙을 가져옵니다.
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)
속성 값
각 행에 있는 데이터 유효성 검사에 사용되는 규칙입니다.
예제
다음 예제에서는 개체의 StartDate 속성 값이 속성 값 Course 보다 EndDate 이전인지 여부를 확인하는 방법을 보여 ValidationRule 줍니다. 이 코드 예제는 방법: 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
다음 예제에서는 XAML에서 속성을 설정합니다 RowValidationRules . 바인딩 ValidationStep 된 데이터 개체가 업데이트된 후에만 유효성 검사가 수행되도록 속성이 설정 UpdatedValue 됩니다. 사용자가 시작 날짜보다 이전의 종료 날짜를 지정하면 행 머리글에 빨간색 느낌표(!)가 나타납니다.
<DataGrid.RowValidationRules>
<local:CourseValidationRule ValidationStep="UpdatedValue"/>
</DataGrid.RowValidationRules>
설명
이 DataGrid 컨트롤을 사용하면 셀과 행 수준에서 유효성 검사를 수행할 수 있습니다. 셀 수준 유효성 검사를 사용하면 사용자가 값을 업데이트할 때 바인딩된 데이터 개체의 개별 속성의 유효성을 검사합니다. 행 수준 유효성 검사를 사용하면 사용자가 행에 변경 내용을 커밋할 때 전체 데이터 개체의 유효성을 검사합니다. 사용자 지정 유효성 검사 규칙을 만들려면 클래스에서 파생되는 클래스를 ValidationRule 만들고 메서드를 구현합니다 Validate . 컬렉션에 사용자 지정 유효성 검사 규칙을 추가합니다 RowValidationRules .
ItemBindingGroup 속성을 사용하는 경우 속성은 RowValidationRules 무시됩니다.