创建仅显示选定列的ADO.NET DataView
-
05-07-2019 - |
题
在C#& .NET,可以创建一个 DataView
,它只包含给定 DataTable
的 DataColumn
的正确的子集?
就关系代数而言,为了执行“选择”,可以指定 RowFilter
。操作(σ)。如何进行“投射”?操作(π)?
解决方案
您不能这样做,但您可以只使用所需的列创建表的副本:
DataView view = new DataView(table);
DataTable table2 = view.ToTable("FirstColumn", "SecondColumn", "ThirdColumn");
您可以选择返回具有所选列的不同值的行:
DataView view = new DataView(table);
DataTable table2 = view.ToTable(true, "FirstColumn", "SecondColumn", "ThirdColumn");
其他提示
好吧,我看不出任何“想要”的理由。要做到这一点......记住,DataView只是原始表中行的指针列表,显然没有办法从原始表中删除列...至少不会影响其他所有功能那张桌子......只使用你想要的列......
将dataview创建为从一个表到另一个表的交换,并使用dtswap作为数据源。
DataView dw = new DataView(dtfee);
DataTable dtswap = new DataTable();
dtswap = dw.ToTable(true,"Fees", "FeeAmount", "Year", "CollectorName", "Month");
DataSet
及其相关类型无法执行关系操作。
不隶属于 StackOverflow