2

我正在尝试创建一个显示来自 IBindingList 数据源的数据的程序(简单网格 - 具有专门的输出)。我可以很好地显示数据,但我也希望能够让用户在其中编辑数据,比如在与网格分开的 TextBox 中。我的问题是我不清楚如何完成两个元素(我的网格和可编辑文本框)之间数据的“自动”更新。

我相信列表的 ListChanged 事件会告诉我列表本身何时发生变化,但我需要网格知道列表中的实际数据何时发生变化。当网格外部发生更改时,我偶然发现的唯一一件事就是挂接到 BindingManagerBase.Bindings[0].Parse 事件。并不是说用户会这样做,但如果用户已经建立了几个都绑定到同一个字段的文本框,我想我必须遍历每个 BindingManagerBase.Binding 条目并挂钩它?

我假设我没有正确执行此操作,并且有一种更通用的方法来完成此操作。我非常感谢任何更熟悉我正在尝试完成的工作的人的指导。

在此先感谢,-马特

4

2 回答 2

1

您还可以使用通用BindingList并使用 ResetItem 通知编辑

于 2012-03-29T08:48:23.560 回答
1

看看INotifyPropertyChanged。在存储在 BindingList 中的类上实现它,以在项目的属性更改时通知所述 BindingList。

如果您自己实现了 IBindingList,则需要做更多的工作来连接列表中每个项目的事件,但提供的 BindingList 将自动获取这些事件。

于 2011-10-25T15:20:24.850 回答