dataview和datatable有什么区别?

kev*_*vin 42 .net c# ado.net

.Net中的DataView和DataTable有什么区别?据我所知,DataView只是DataTable的错误表示.我什么时候应该使用DataView?

提前致谢.

Cha*_*thJ 49

当您想要运行查询并在控件中显示数据子集时,DataView可以帮助您.这只是一个例子,看一下DataViewMSDN示例,它解释了DataViews应该在DataTables中使用的地方......

数据表

数据表是单个数据库表的内存中表示.您可以将其视为具有相同方式的列和行.DataTable是ADO.NET库中的中心对象.使用DataTable的其他对象包括DataSet和DataView.

查看MSDN DataTable类以获取更多详细信息.

数据视图

数据视图是数据表的视图,有点像sql视图.它允许您对行进行筛选和排序 - 通常用于绑定到窗体控件.

此外,可以自定义DataView以显示DataTable中的数据子集.此功能允许您将两个控件绑定到同一个DataTable,但显示不同版本的数据.例如,一个控件可以绑定到显示表中所有行的DataView,而第二个控件可以配置为仅显示已从DataTable中删除的行.DataTable还有一个DefaultView属性,它返回表的默认DataView.

查看MSDN DataView类以获取更多详细信息.


小智 8

DataTable表示单表表示,而a DataSet表示多表表示.

这意味着通过使用DataTable我们只能从数据库中保存一个表,如果我们使用,DataSet我们可以一次保存多个表...

DataView表示DataSet...中可用数据的视图(可DataSet用于表中的视图)它用于查找记录,排序,过滤记录...使用DataView.

  • 请格式化并澄清您的答案.无需大喊大叫. (6认同)

mas*_*ani 6

您可以使用DataView对DataTable进行过滤.例如,如果您有一个包含所有参数的DataSet,您可以使用DataView找到其中一个参数:

DataView dv = new DataView();
dv = new DataView(parameterDs.Tables[0], "ParameterName = '@" + parameter.Key + "'", string.Empty, DataViewRowState.CurrentRows);
Run Code Online (Sandbox Code Playgroud)