error-handling - C# dataGridView_RowValidating() 不在存在错误的同一行中保留焦点,为什么?
问题描述
我有一个带有 DataGridView 的表单来更新数据库中的表。我想将焦点保留在当前行中,直到清除 sql 错误。我是通过以下方式做到的,但问题是:
“错误是在下一行而不是当前行中捕获的。”
为什么会这样???
这是我的代码:
private void dataGridView1_RowValidating(object sender, DataGridViewCellCancelEventArgs e)
{
try
{
cb = new SqlCommandBuilder(da);
da.Update(dt);
}
catch (SqlException ex)
{
if (ex.Number == 2601)
{
e.Cancel = true;
MessageBox.Show("Duplicate Ticket", "Stop", MessageBoxButtons.OK, MessageBoxIcon.Stop);
}
}
}
解决方案
推荐阅读
- java - Eclipse 在调试模式下狂奔 - 几次后部署超时
- memory - Bin文件与内存映射不同
- python - 创建版本失败。“加载模型失败:无法加载模型:/tmp/model/0001/model.joblib。没有名为‘click._bashcomplete’的模块
- sharepoint-online - 在 SharePoint Online 中使用 SPFx 实施 FluentUI 时出现问题
- caching - Angular 12:RangeError:超出最大调用堆栈大小
- javascript - 如何停止在 localStorage 中复制对象?
- django - 通过自定义 office365 域在 Django 中发送电子邮件时如何确保发送 DKIM 签名?
- amazon-web-services - 部署自动化的最佳方式
- google-cloud-firestore - 谁能告诉为什么在输入文档数据后无法启用此保存按钮?
- analytics - 是否有我们可以在刷新时跟踪的 ETL 报告?