-1

我正在使用 System.Linq.Dynamic 动态地使用 linq 对列进行分组并且需要执行

我如何对列进行求和,即(总和(存款))。用户将在运行时选择表和列。 在此处输入图像描述 例如:上表有 Territory、State、BankName、Year、QuarterFromMainT

假设用户已选择这些列进行分组(Territory、State、BankName)并且现在想要对列 ex:Deposits 求和。我怎样才能做到这一点?因为只有 ASEnumerable 和 AsQueryable 只有 sum。我们需要执行 groupby 和 sum

单击此处进一步说明,我的代码是:

在此处输入图像描述

这里 t1 是表,qfields 是一个包含分组列的列表。

如何使用 linq 在 groupby 之后对列求和?

4

2 回答 2

0

您需要设置页脚文本以显示您的总金额

例子:

 <asp:BoundField DataField="Deposits" 
             FooterText="Total Desposits" />

在 Gridview 中你需要像这样编写代码

 Gridview.Columns[4].FooterText = dt.AsEnumerable().Select(x => x.Field<int>("Desposits")).Sum().ToString();

        Gridview.DataSource = dt;

        Gridview.DataBind();

它在我的应用程序中工作。您可以根据自己的方便使用它。

于 2013-08-07T17:23:55.850 回答
0

你是这个意思吗?如果不是,请忽略...

var query = rows
    .GroupBy(row => new { row.Territory, row.State, row.BankName })
    .Select(group => new
    {
        group.Key.Territory, group.Key.State, group.Key.BankName,
        Deposits = group.Sum(row => row.Deposits)
    });
于 2013-08-07T17:08:08.730 回答