创建仅显示选定列的ADO.NET DataView

时间:2009-07-29 15:53:07

标签: c# .net datatable dataview datacolumn

在C#& .NET,可以创建DataView只包含给定DataColumn的{​​{1}}的正确的子集吗?

就关系代数而言,为了执行“选择”操作(σ),我们指定DataTable。如何进行“投影”操作(π)?

4 个答案:

答案 0 :(得分:13)

您不能这样做,但您可以只使用所需的列创建表的副本:

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");

答案 1 :(得分:1)

好吧,我看不出任何“想要”这样做的理由......记住,DataView只是原始表中行的指针列表,显然没有办法从列中删除列原始表...至少不会影响使用该表的所有其他功能...只需使用您想要的列...

答案 2 :(得分:0)

将dataview创建为从一个表到另一个表的交换,并使用dtswap作为数据源。

DataView dw = new DataView(dtfee);
            DataTable dtswap = new DataTable();
            dtswap = dw.ToTable(true,"Fees", "FeeAmount", "Year", "CollectorName", "Month");

答案 3 :(得分:-1)

DataSet及其关联类型无法执行关系操作。