New DataView vs. DefaultView of a DataTable
本文关键字:DataTable of DefaultView DataView vs New | 更新日期: 2023-09-27 18:00:50
为什么要构造一个新的DataView
,而不是使用C#中DataTable
的DefaultView
?
创建新的DataView
的方案是什么?
两者的优点和缺点是什么?
var dataView = new DataView(dataTable);
与
var dataView = dataTable.DefaultView;
附加数据视图的优点是允许您将其中几个视图准备好并并行使用。
因此,您可以以不同的方式筛选和排序其中的3个,并将3个不同的控件绑定到它们上,例如three DataGridViews
或DGV
以及ComboboxCell
的Items
。
引用自这篇文章:
数据视图是数据表上的视图,有点像sql视图。它允许您可以对行进行筛选和排序,通常用于绑定到windows窗体控制此外,可以自定义DataView以显示DataTable中数据的子集。此功能允许您绑定到同一DataTable但显示不同的两个控件数据的版本。
另一种创建新DataView的场景更可取,它是会话之间共享的asp全局(应用程序变量(数据表。带有rowfilter的Defaultview不可取,因为应用的筛选器会影响所有会话Defaultview。因此,您必须为每个会话创建数据视图。vb.net
Application("dt") = New DataTable() - persits across sessions
Application("dt").DefaultView.RowFilter="Field = Value" - not preferable because it apply all sessions
Session("dv") = New DataView(Application("dt"))
Session("dv").RowFilter="Field = Value" - preferable