在DataGridView中验证自定义编辑控件

时间:2011-09-16 12:38:40

标签: winforms validation datagridview custom-controls

我正在为基于TextBox的DataGridView创建自定义编辑控件。这样可以正常工作,除了(尽管我可以覆盖OnValidating事件)设置e.Cancel为true不会阻止用户离开单元格。

当用户输入无效数据时,如何强制停留在编辑控件中?

这必须是可能的,因为当您在绑定列中输入无效数据时,您必须实现Dataerror事件,并且当数据无效时用户无法离开单元格。

1 个答案:

答案 0 :(得分:1)

我通过覆盖EditingControl的OnValidating事件来解决它,以跳过base.OnValidating。在Grid的CellValidating中添加了代码,该代码调用底层编辑控件的自定义验证方法,在验证失败时设置e.Cancel = true。