我在C#中学习ADO.NET。 我不确定我是否有适当的绑定源概念。与asp.net的情况一样,我们使用
gridview1.DataBind();
所以我想在Windows应用程序的情况下我必须这样使用。
BindingSource bs = new BindingSource();
bs.DataSource= ds.Tables[0];
gridveiw1.DataSource = bs;
这里的ds是DataSet。
但如果我这样使用..
gridview1.DataSource = ds.Tables[0];
它也在工作。
那么为什么我们应该使用Binding Source。绑定源允许使用哪些功能而不使用它,或者此处不需要绑定源。 提前谢谢。
答案 0 :(得分:0)
BindingSource是在.Net 2.0中开发的,而DataSet / DataTable类是在.Net 1.1中首次出现的
来自BindingSource and BindingList Of T - DataBinding made simple!
当然你可以直接将DataGridView绑定到DataTable并绕过BindingSource,但BindingSource有一定的优势:
- 它公开属性以对列表进行排序,过滤列表等等,否则这将是一件痛苦的事情。 (即,如果您将DataGridView直接绑定到DataTable,那么要对DataTable进行排序,您需要知道DataTable是一个IListSource,它知道基础列表是DataView,DataView可以进行排序,过滤等)。
- 如果你必须设置主/子视图,那么BindingSource可以很好地完成这项工作