我有一张桌子需要分组成divs
rated | rater | team | score | subject
john mike TA 10 math
john mike TA 10 PE
john jane TA 9 math
john jane TA 9 PE
kim lee TB 5 math
kim min TB 2 math
我需要它看起来像
TA
john
RATER MATH PE
mike 10 10
jane 9 9
TB
kim
RATER MATH PE
lee 5
min 2
在我看来,我只是从带有
的LINQ迭代这些值@foreach (var item in Model)
任何帮助都将不胜感激。
答案 0 :(得分:1)
看起来你想要转置列和行。
从此博客中查看此方法: http://higherlogics.blogspot.com/2010/05/linq-transpose-extension-method.html
以下是代码示例:
public static IEnumerable<IEnumerable<T>> Transpose<T>(
this IEnumerable<IEnumerable<T>> source)
{
return from row in source
from col in row.Select(
(x, i) => new KeyValuePair<int, T>(i, x))
group col.Value by col.Key into c
select c as IEnumerable<T>;
}