我的项目有一个用户可以编辑并保存到数据库的 DataGridView。我正在尝试向 DataGridView 添加验证。(某些列是必需的,并且只能是数字(特别是双精度))。
我在处理 .Net 在幕后完成的一些自动解析时遇到了麻烦。DataGridView 的行为会有所不同,具体取决于用户是否将必填字段留空或输入无法解析为双精度的内容(即文本)。
更简单的情况:如果用户将必填字段留空并单击保存。保存按钮的单击事件触发,我可以检查单元格的 Value 属性是否设置为DBNull
,在这种情况下,我设置单元格的ErrorText
属性并显示MessageBox
.
Harder Case:当用户输入的文本不能被解析为双精度时(例如,“asdf”)。发生这种情况时,一旦单元格失去焦点,就会在幕后发生一些内置的 .Net 验证,并且我会收到一个显示堆栈跟踪的消息框。我想完全禁用此验证,并在用户单击“保存”时进行自己的验证。
(直到那时,无效数据并不重要)。有谁知道如何做到这一点?