在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 及其相关类型无法执行关系操作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top