如何将LINQ查询结果分组到DataGridView而不循环

时间:2019-12-14 15:27:28

标签: c# .net linq

我有一个列表“ listemp”:

id  |  name  |  age |  departement
----|--------|------|----------
1   |  name1 |  22  | 1
2   |  name2 |  33  | 3
3   |  name3 |  20  | 1
4   |  name4 |  25  | 2
5   |  name5 |  22  | 1
6   |  name6 |  25  | 2

我想按部门分组 结果必须是这样的:

id  |  name  |  age |  departement
----|--------|------|----------
1   |  name1 |  22  | 1
3   |  name3 |  20  | 1
5   |  name5 |  22  | 1
4   |  name4 |  25  | 2
6   |  name6 |  25  | 2
2   |  name2 |  33  | 3

我的代码是:

var db = from item in listemp group item by item.departement;
dgv.columns.add("0","id");
dgv.columns.add("1","name");
dgv.columns.add("2","age");
dgv.columns.add("3","departement");
foreach(var i in db)
{
   foreach(var c in i)
   {
    dgv.rows.add(c.id , c.name , c.age , c.departement)
   }
}

此代码可以完美工作,但我希望另一种方法可以不循环

1 个答案:

答案 0 :(得分:1)

我找到了没有循环的解决方案

var db = from item in listitem group item by item.departement into g from i in g select i