特別な要件のために、グリッド ビューのように機能する独自の HTML テーブルを作成しました。DataTable からデータを取得し、TD および TR セルに入力します。
列名を指定すると、すべての値がグループ化されるグリッド ビューと同じように、グループ化機能を実装したいと考えています。
DataTable で直接グループ化を実行し、行をそのまま出力するにはどうすればよいですか? Linq を使用できますか? 例に向けて助けてください。
DataTable
をIEnumerable
使用するように変換してみることができますAsEnumerable
(System.Data.DataSetExtensions への参照を追加してください)。
次に、GroupByを使用してデータをグループ化します。IEnumerable<IGrouping<TKey, TSource>>
各IGrouping<TKey, TElement>
オブジェクトがオブジェクトのコレクションとキーを含む場所を返します。例:
var groups = dt.AsEnumerable().GroupBy( r => r.Field<string>("someField") );
更新: 複数のフィールドを使用して (例を参照)、またはそれらをネストしてグループ化することができます (例を参照) 。