mvc 4 webgrid显示

时间:2012-10-29 09:11:49

标签: asp.net sql asp.net-mvc-4

我有一个select列查询结果在column1和column2中有重复值,而column3和column4值对于给定的column1和column2值有所不同。

我的选择查询结果如下

  ab ab_ds a 4
  ab ab_ds b 6
  bc bc_ds d 8
  bc bc_ds a 8

如何获得如下的网页?

  ab ab_ds a 4 b 6  
  bc bc_ds d 8 a 8  

请建议我是否可以在查询或webgrid中执行某些操作

2 个答案:

答案 0 :(得分:1)

如果使用linq,则可以使用GroupBy()方法。

基于比较值为字符串

的类的示例
    IEnumerable<IGrouping<string, ColumnClass>> groupBy = list.GroupBy(
    y => y.Column1 + " " + y.Column2);

这会给你一个IEnumerable&lt; IGrouping&LT; string,YourClass&gt; &GT;然后你可以使用另一个linq查询:

    groupBy.Select(item => item.Aggregate(
    item.Key, (current, columnClass) => current + (
    " " + columnClass.Column3 + " " + columnClass.Column4))).ToList();

答案 1 :(得分:0)

这个问题是一般性的,所以我会给出一个可以帮助你的一般性答案。

我使用的是具有MultiHashDictionary的C5通用集合库,这是一个通用集合,您可以在那里加载结果并按照您说的方式获取它们。

MultiHashDictionary<K, V>Dictionary<k,v>类似,但密钥不是唯一的,您可以将其分组。它可以帮助我获得像你这样的结果。

http://www.itu.dk/research/c5/

获取C5库