为什么我们应该使用BindingSource与gridview当它工作时,如果我直接分配数据集给它

本文关键字:如果 数据集 分配 工作 为什么 BindingSource gridview 我们 | 更新日期: 2023-09-27 18:19:03

我正在学习ADO。. NET中的c#。我不确定我是否对绑定源有正确的概念。在asp.net中,我们使用

gridview1.DataBind();

所以我想在windows应用程序中我必须这样使用

BindingSource bs = new BindingSource();
bs.DataSource= ds.Tables[0];
gridveiw1.DataSource = bs;

here ds is DataSet.

但是如果我像这样使用…

gridview1.DataSource = ds.Tables[0];

也可以。

那么我们为什么要使用Binding Source呢?在不使用绑定源或者不需要绑定源的情况下,绑定源允许哪些特性。

为什么我们应该使用BindingSource与gridview当它工作时,如果我直接分配数据集给它

BindingSource是在。net 2.0中开发的,而DataSet/DataTable类是在。net 1.1中首先出现的

从BindingSource和BindingList的T -数据绑定变得简单!

当然你可以直接将DataGridView绑定到DataTable而绕过BindingSource,但是BindingSource有一定的优势:

  • 它将属性暴露给排序列表,过滤列表等,这将是一个痛苦的事情。(即,如果你绑定DataGridView直接到数据表然后排序数据表,你需要知道数据表是一个IListSource,它知道底层列表是一个数据视图和一个数据视图可以排序,过滤等)。
  • 如果你必须设置主/子视图,那么BindingSource会做得很好