Получить общее количество на отдел - PullRequest
0 голосов
/ 18 мая 2018

Этот вопрос является ссылкой на Количество дубликатов

У меня есть вывод, подобный этому:

Department    Name     Count
Sales         John     2
Sales         Peter    1
Admin         Jack     1
Admin         Sophia   2
Admin         Jill     1
Maintenance   Bob      2
Maintenance   Henry    1

Что я хочу вывести, используя эту информацию:

Department    Name     Count
Sales         John     2
Sales         Peter    1
------------------------
Total                  3
------------------------
Admin         Jack     1
Admin         Sophia   2
Admin         Jill     1
------------------------
Total                  4
------------------------
Maintenance   Bob      2
Maintenance   Henry    1
------------------------
Total                  3
------------------------

Я использую следующий код для вывода первого списка:

var query = data.AsEnumerable()
                .GroupBy(r => new { Dept = r.Field<string>("Department"),
                    Name = r.Field<string>("FirstName"),
                    Surname = r.Field<string>("LastName")})
                .Select(grp => new
                {
                    Dept = grp.Key.Dept,
                    Name = grp.Key.Name,
                    Surname = grp.Key.Surname,
                    Count = grp.Count()
                });

            foreach(var item in query)
            {
                newData.Rows.Add(item.Dept, item.Name, item.Surname, item.Count);
            }

Как мне добавить общее количество для каждого отдела?

1 Ответ

0 голосов
/ 18 мая 2018
data.AsEnumerable()
  .GroupBy(r => r.Field<string>("Department"))
  .ToDictionary(g => g.Key, g => g.Count());

Это даст вам Dictionary<string, int>, где ключи - это названия отделов, а значения - это количество.

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