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

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

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

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

综上所述:

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

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