我发现我可以直接将DataGridView.DataSource设置为DataTable而不使用它们之间的BindingSource,这就是我到目前为止所看到的所有教程所使用的.那两个人之间的区别是什么?
这里有一些关于 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 对象可以更好地支持处理绑定过程中可能发生的异常和错误。