我有一个datagridview,其中hc包含一个datagridviewcomboxcolumn。绑定到数据网格的数据对象包含一个属性,该属性的值映射到绑定到comboboxolumn的数据源值。
我的问题是,偶尔会从数据库中检索到坏数据,因此,当数据网格试图将属性值强制转换为有效的comboboxolumn值时,会引发数据错误。我也无法在属性的SET方法中捕捉到这一点,因为它似乎在分配数据源时不会自动调用SET方法。
在引发数据错误之前,是否有一个事件可以用来捕捉它?或者你能想到的其他解决方法?
我认为最好的方法是过滤或更正无效数据,因为即使处理它,也意味着会有一些不稳定。最好的方法是自己处理DataError
,在那里你可以修复/静音错误(我不确定你是打算不处理该事件还是在它之前发生——AFAIK这是DataBinding
场景中的最佳位置):
private void dgv_DataError(object sender, DataGridViewDataErrorEventArgs e)
{
e.ThrowException = false;
}