【问题标题】:Summing by multiple columns in a list按列表中的多列求和
【发布时间】:2019-05-31 09:32:42
【问题描述】:

我正在创建一个 html 表格来显示列表中的值 该列表包含三列:指标的名称、选择它的年份和月份以及它被过滤的次数开。

我使用的代码和html如下所示:

<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.Select(m => m.Name).Distinct())
    {
        <tr>
            <td>@keyIndicator</td>
            @foreach (var monthYear in Model.KeyIndicatorUseCount.Select(m => m.MonthYear).Distinct())
            {
                <td>@Model.KeyIndicatorUseCount.Sum(m => m.Count)</td>
            }
        </tr>
    }
</table>

目前该表正在填充第一个月-年列的值的总和。

计算需要是每个关键指标在该月-年的查看次数之和。

这里是当前制作的截图供参考:

我如何进行计算以获得与第一列中关键指标名称的每个月-年相对应的总和?

【问题讨论】:

    标签: c# list linq razor


    【解决方案1】:
     @foreach (var keyIndicator in item.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>
             }
             <td>
                 @(keyIndicator.Sum(f => f.Count)) /* if you want to sum count of every month of year */
             </td>
         </tr>
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-03
      • 1970-01-01
      • 1970-01-01
      • 2021-02-28
      • 2021-10-19
      • 1970-01-01
      相关资源
      最近更新 更多