我有一个验证对象列表 - 验证。
public class Validation
{
public IList<KeyValuePair<string, string>> Arguments
{ //(...) }
}
在表单上有一个绑定到验证列表的列表和一个绑定到验证列表中当前验证的参数列表的DataGridView。我允许用户在对话框窗口中编辑选定的验证对象。用户可以修改参数集合。关闭窗口后,DataGridView中显示的项目应该刷新。他们没有。此外,如果编辑后 Arguments 列表为空,则抛出IndexOutOfRangeException。
我怎样才能让它发挥作用?
答案 0 :(得分:0)
数据绑定有几个重要的接口;尤其是IBindingList
,其中ListChanged
可以监听DataGridView
事件。
是否可以将具体列表更改为BindingList<T>
?这应该免费提供给你大部分?您不需要更改返回类型,BindingList<T> : IList<T>
和DataGridView
只知道实际对象(它不关心您调用它{{1 }})。
另一个实用选项只是重置IList<T>
上的数据绑定 - 也许将DataGridView
设置为DataSource
然后再返回:
null