C#DataGridView.DataSource使用BindingSource与之间的区别

Jak*_*ake 5 c# bindingsource

我发现我可以直接将DataGridView.DataSource设置为DataTable而不使用它们之间的BindingSource,这就是我到目前为止所看到的所有教程所使用的.那两个人之间的区别是什么?

Mar*_*tin 4

这里有一些关于 BindingSource 的使用如何改进直接绑定到 DataTable 的旧方法的信息。

http://msdn.microsoft.com/en-us/library/aa480734.aspx

总之:

BindingSource 组件通过提供货币管理、更改通知以及轻松访问绑定列表中的成员的能力,简化了开发人员的工作。然而,数据绑定还有一些其他鲜为人知的改进值得讨论,事实上,它们是补充 BindingSource 组件提供的功能的重要补充。

Binding 对象在 .NET Framework 2.0 中有几个新成员,可以更好地控制绑定操作。例如,您可以控制绑定控件中数据的格式、何时更新数据源以及如何处理数据源中的 null 和 DBNull 值。ControlBindingsCollection 中相应的 Add 方法也支持这些新成员。您可以通过使用 Visual Studio 中的“格式设置和高级绑定”对话框或通过代码来利用这些附加功能。此外,通过添加 BindingComplete 事件,Binding 对象可以更好地支持处理绑定过程中可能发生的异常和错误。