DataGrid控件实现验证

DataGrid控件使您可以在单元和行级别执行验证。 使用单元格级验证时,可以在用户更新值时验证绑定数据对象的各个属性。 通过行级验证,用户将更改提交到行时,可以验证整个数据对象。 你还可以为验证错误提供自定义的视觉反馈,或使用控件提供的默认视觉反馈 DataGrid

  1. 验证单个单元值

指定与列一起使用的绑定上的一个或多个验证规则。 这类似于验证简单控件中的数据,如 数据绑定概述中所述。

下面的示例演示了一个 DataGrid 控件,该控件具有四列绑定到业务对象的不同属性。 三列 ExceptionValidationRule 通过将 ValidatesOnExceptions 属性设置为来指定 true

DataGrid控件实现验证

如果用户输入的值无效 (如课程 ID 列中的非整数) ,则单元格的周围会出现一个红色边框。

可以按照以下过程中所述更改此默认验证反馈。

  1. 验证单个行中的多个值

实现一个 ValidationRule 子类,该子类检查绑定数据对象的多个属性。 在 Validate 方法实现中,将 value 参数值强制转换为 BindingGroup 实例。 然后,你可以通过属性访问数据对象 Items

下面的示例演示了此过程,用于验证 StartDate 对象的属性值是否 Course 早于其 EndDate 属性值。

DataGrid控件实现验证

 

将验证规则添加到 DataGrid.RowValidationRules 集合。 RowValidationRules属性提供对 ValidationRules 实例的属性的直接访问 BindingGroup ,该实例对控件使用的所有绑定进行分组。

下面的示例 RowValidationRules 在 XAML 中设置属性。 ValidationStep属性设置为, UpdatedValue 以便仅在更新绑定数据对象后进行验证。

 

上一篇:C# datagridview、datagrid、GridControl增加行号


下一篇:WPF显示SQLITE数据(四)--分页显示