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