【问题标题】:CSHTML - using LINQ to sum values by a column for creating a tableCSHTML - 使用 LINQ 按列对值求和以创建表
【发布时间】:2019-06-03 10:38:56
【问题描述】:

我正在尝试对我正在使用的列表中具有特定 MonthYear 值的值求和。

我目前正在使用下面的代码来执行此操作:

<table class="users">
        <tr>
            <th></th>
            @foreach (var monthYear in Model.KeyIndicatorUseCount.Select(m => m.MonthYear).Distinct())
            {
                <th>@monthYear</th>
            }
        </tr>
        @foreach (var keyIndicator in Model.KeyIndicatorUseCount.OrderBy(f => f.Name).GroupBy(f => f.Name))
        {
            <tr>
                <td>@keyIndicator.Key</td>
                @foreach (var monthYear in keyIndicator.OrderBy(f => f.MonthYear).GroupBy(f => f.MonthYear))
                {
                    <td>@(keyIndicator.Sum(f => f.Count))</td>
                }
            </tr>
        }
    </table>

目前每个 MonthYear 的单元格中显示的值是表中所有值的总和,而不是该特定 MonthYear 的值,下图是当前生成的值:

我尝试在 sum 中添加 Where 子句,但到目前为止,如果不产生错误,则无法使其正常工作。

如何修改代码以生成所需的数据?

【问题讨论】:

    标签: c# linq razor foreach


    【解决方案1】:

    我认为您的代码是正确的,但您应该使用不同的变量。

    这应该可以工作: @(monthYear.Sum(f =&gt; f.Count))

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-10
      相关资源
      最近更新 更多