1

当 DataGrid 控件绑定到 DataTable 时,我无法找出验证用户输入的方法。我看到的问题是:

  1. 我无法将自定义验证规则添加到数据源,即 DataTable,因为唯一可以添加到其中的约束是 UniqueConstraint 和 ForeignKeyConstraint。
  2. 覆盖网格中的 CellEditEnding 事件,然后设置属性 e.cancel = true - 其中参数 e 的类型为 DataGridCellEditEndingEventArgs - 在无效输入检测上无济于事,因为无论如何都会将无效值分配给基础 DataTable。

我之后的输入验证与业务规则有关,例如十进制值不能为负,另一个值必须在 10-25 的范围内。当然,必须有某种方法来执行这些规则。

谢谢。

4

1 回答 1

1

您可以在 ColumnChanging 事件中验证数据表并使用 SetColumnError

于 2013-06-05T09:25:43.503 回答