LINQ:如何从DataTable.ItemArray查询中排除数据列?

时间:2011-06-19 17:13:56

标签: wpf linq gridview telerik

给定数据行的集合,IEnumerable类型DataRow,我如何查询集合以便计算集合中的所有值(即所有行中所有列的所有值)和异常两个特定列?我知道在运行时之前只有两列,我想要排除这两列。我想要的所有其他人都包含在总和中。

有一种扩展方法可以给我一个特定的字段,例如Field<T>("Foo")但我真正需要的是能够对除 字段X,Y和Z之外的所有字段 求和。

2 个答案:

答案 0 :(得分:3)

您可以使用更多LINQ:

DataColumn[] unwantedColumns = { table.Column1, ... };

var sum = table.Columns.Cast<DataColumn>()
                       .Except(unwantedColumns)
                       .Select(c => row.Field<int>(c))
                       .Sum();

答案 1 :(得分:0)

我认为您无法修改DataRow所拥有的列。您可以修改DataTable的列。