为什么要构建一个新的DataView而不是使用C#中的DataTable的DefaultView?
创建新DataView的方案更可取吗?
两者的优点和缺点是什么?
var dataView = new DataView(dataTable);
vs
var dataView = dataTable.DefaultView;
发布于 2015-07-02 07:46:38
顾名思义,DefaultView的优点是默认情况下已经存在了。
其他DataViews的优点是允许您保持其中的几个就绪,并在并行中使用。
因此,您可以通过不同的方式对independently.中的和排序3进行筛选,并将3种不同的控件绑定在一起,例如three DataGridViews或DGV和Items of a ComboboxCell。
引用这个职位的话:
dataview是datatable上的一个视图,有点像sql视图。它允许您筛选和排序行-通常用于绑定到windows窗体控件。此外,可以自定义一个DataView以显示来自DataTable的数据子集。此功能允许将两个控件绑定到同一个DataTable,但显示不同版本的数据。
发布于 2018-06-14 19:56:26
另一种方案是创建一个新的备用DataView,它是asp全局(app变量)在会话之间共享的datatable。使用行筛选器的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" - preferablehttps://stackoverflow.com/questions/31177899
复制相似问题