我有一个数据网格视图,它数据绑定到实体框架“表”:
public ObjectSet<TEntity> tableData { get; private set; }
private BindingSource tableBinding;
public AuxiliaryTableEditor(ObjectSet<TEntity> something)
{
InitializeComponent();
this.tableData = something;
this.tableBinding = new BindingSource();
this.tableBinding.DataSource = tableData;
this.auxiliaryTableEditorGridView.DataSource = tableBinding;
}
这工作得很好。
问题是这样的:如果用户开始编辑/添加一行,如果他们在单元格中进入编辑模式,删除内容,然后制表符或单击它,将引发未处理的异常(如大多数 db 列不允许空值)。这是完全正常且可以接受的,但我希望能够捕捉和处理这些异常,但我不知道在哪里/如何捕捉它们。
我尝试在 datagridview 上使用几种不同的事件处理程序,例如.DataError、.RowValidating以及我现在不记得的其他一些事件处理程序……但我似乎无法捕捉到讨厌的异常。
任何建议都非常感谢!
编辑:我应该补充一点,异常通常是这样的:“用户代码未处理 ConstraintException。此属性不能设置为空值”。