0

列 1 と列 2 で値が繰り返される選択クエリの結果がありますが、列 3 と列 4 の値は特定の列 1 と列 2 の値によって異なります。

私の選択クエリの結果は次のとおりです

  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  

クエリまたはウェブグリッドで何かできるかどうか提案してください

4

2 に答える 2

1

linq を使用する場合は、GroupBy() メソッドを使用できます。

比較値が文字列であるクラスに基づく例

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

これにより、IEnumerable< IGrouping< string, YourClass > > が得られ、これに対して別の linq クエリを使用できます。

    groupBy.Select(item => item.Aggregate(
    item.Key, (current, columnClass) => current + (
    " " + columnClass.Column3 + " " + columnClass.Column4))).ToList();
于 2012-10-29T12:54:58.470 に答える
0

この質問は一般的なものなので、私はあなたを助けるかもしれない一般的な答えを与えます。

私はC5ジェネリックコレクションライブラリを使用しますMultiHashDictionary。これは、結果をそこにロードして、言うとおりに取得できる一般的なコレクションです。

MultiHashDictionary<K, V>似てDictionary<k,v>いますが、キーは一意ではなく、グループ化できます。それはあなたのような結果のために私を助けます。

http://www.itu.dk/research/c5/からC5ライブラリを入手します

于 2012-10-29T09:23:51.760 に答える