我想DataGridView
在 Windows 窗体应用程序中显示人员列表。我希望我的服务层返回一个 Person 对象列表(例如,IList<Person>
)。我希望列表中的更改反映在DataGridView
反之亦然。我的理解是BindingSource
使用DataGridView
. 我的问题是双向数据绑定工作,我需要:
//pseudo code
BindingSource.DataSource = IBindingList<Person>
或者我可以这样做:
BindingSource.DataSource = IList<Person>
有什么不同?如果我对列表进行更改,DataGridView
无论哪种方式都会更新?如果我必须使用,从我的服务层BindingList
返回 a 似乎有点不稳定(因为创建了依赖项) ,有没有办法解决这个问题?BindingList
微软谈到BindingList
(在备注部分)
http://msdn.microsoft.com/en-us/library/ms132679.aspx:
“然而,典型的解决方案程序员会使用提供数据绑定功能的类,例如
BindingSource
,而不是直接使用BindingList<T>
。”