绑定到另一个绑定列表中的项的属性

时间:2009-06-16 10:10:54

标签: c# .net data-binding

我有一个验证对象列表 - 验证。

public class Validation
{
       public IList<KeyValuePair<string, string>> Arguments
       { //(...) }
}

在表单上有一个绑定到验证列表的列表和一个绑定到验证列表中当前验证参数列表的DataGridView。我允许用户在对话框窗口中编辑选定的验证对象。用户可以修改参数集合。关闭窗口后,DataGridView中显示的项目应该刷新。他们没有。此外,如果编辑后 Arguments 列表为空,则抛出IndexOutOfRangeException。

我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:0)

数据绑定有几个重要的接口;尤其是IBindingList,其中ListChanged可以监听DataGridView事件。

是否可以将具体列表更改为BindingList<T>?这应该免费提供给你大部分?您不需要更改返回类型,BindingList<T> : IList<T>DataGridView只知道实际对象(它不关心您调用它{{1 }})。

另一个实用选项只是重置IList<T>上的数据绑定 - 也许将DataGridView设置为DataSource然后再返回:

null