如果我直接为其分配数据集,为什么我们应该使用BindingSource和gridview?

时间:2014-08-21 16:40:53

标签: c# sql database ado.net

我在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。绑定源允许使用哪些功能而不使用它,或者此处不需要绑定源。 提前谢谢。

1 个答案:

答案 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可以很好地完成这项工作
  •