验证 DataGridView 中的自定义编辑控件
我正在为基于 TextBox 的 DataGridView 创建自定义编辑控件。这工作得很好,除了(尽管我可以覆盖 OnValidating 事件)将 e.Cancel 设置为 true 不会阻止用户离开单元格这一事实。
当用户输入无效数据时,如何强制留在编辑控件中?
这一定是可能的,因为当您在绑定列中输入无效数据时,您必须实现 Dataerror 事件,并且当数据无效时用户无法离开单元格。
I'm creating a custom Editing Control for a DataGridView which is based on TextBox. This works fine, except for the fact that (although I can override the OnValidating event) setting e.Cancel to true won't prevent the user from leaving the cell.
How can I force to stay in the editing control when user enters invalid data?
This must be possible, because when you enter invalid data in a bound column you have to implement Dataerror event and user is not able to leave cell while data is invalid.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我通过重写 EditingControl 的 OnValidating 事件来跳过 base.OnValidating 来解决这个问题。在 Grid 的 CellValidating 中添加了代码,该代码调用底层编辑控件的自定义验证方法,在验证失败时设置 e.Cancel = true。
I solved it by overriding the OnValidating event of the EditingControl to skip base.OnValidating. Added code in CellValidating of Grid which calls a custom Validation method of the underlying Editing Control, setting e.Cancel = true when validation fails.