CSHTML - использование LINQ для суммирования значений по столбцу для создания таблицы - PullRequest
0 голосов
/ 03 июня 2019

Я пытаюсь суммировать значения, для которых это значение имеет конкретное значение 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>

В настоящее время значение, которое отображается в ячейке для каждого месяца года, представляет собой сумму всех значений в таблице, а не значение для этого конкретного месяца года, ниже показано изображение, которое создается в данный момент:

enter image description here

Я пытался добавить предложение Where к сумме, но до сих пор не смог заставить его работать без ошибки.

Как мне изменить код для получения необходимых данных?

1 Ответ

1 голос
/ 03 июня 2019

Я думаю, что ваш код правильный, но вы должны использовать другую переменную.

Это должно работать: @(monthYear.Sum(f => f.Count))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...