0

div にグループ化する必要があるテーブルがあります

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) 

どんな助けでも大歓迎です。

4

1 に答える 1

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>;
}
于 2012-10-24T21:50:49.920 に答える