そのようなことへの最善のアプローチは何でしょうか?
これが私のデータテーブルです
╔═══════════════╦═══════════════╦═══════════════╗
║ Product Name ║ Product Price ║ Product Group ║
╠═══════════════╬═══════════════╬═══════════════╣
║ Skirt Red ║ 99 ║ 1 ║
║ Jeans Blue ║ 49 ║ 2 ║
║ Jeans Black ║ 49 ║ 2 ║
║ Skirt Blue ║ 99 ║ 1 ║
║ T-shirt White ║ 20 ║ 3 ║
║ T-shirt Green ║ 20 ║ 3 ║
║ Jeans Grey ║ 49 ║ 2 ║
╚═══════════════╩═══════════════╩═══════════════╝
LINQを使用して、このデータテーブルを製品グループ列でグループ化し、次のグループを生成します
Group #1
╔═══════════════╦═══════════════╦
║ Product Name ║ Product Price ║
╠═══════════════╬═══════════════╬
║ Skirt Red ║ 99 ║
║ Skirt Blue ║ 99 ║
╚═══════════════╩═══════════════╩
Group #2
╔═══════════════╦═══════════════╦
║ Product Name ║ Product Price ║
╠═══════════════╬═══════════════╬
║ Jeans Blue ║ 49 ║
║ Jeans Black ║ 49 ║
║ Jeans Grey ║ 49 ║
╚═══════════════╩═══════════════╩
Group #3
╔═══════════════╦═══════════════╦
║ Product Name ║ Product Price ║
╠═══════════════╬═══════════════╬
║ T-Shirt White ║ 20 ║
║ T-Shirt Green ║ 20 ║
╚═══════════════╩═══════════════╩
今の質問は
- LINQ(完了)を使用して製品グループ列でグループ化するにはどうすればよいですか?
- 結果のグループから製品グループ列を削除するにはどうすればよいですか?
- 各グループを個別のデータテーブルに追加してから、すべてのテーブルを単一のデータセットに追加するにはどうすればよいですか?(完了)
- 結果のグループに表示したくない列があったとしたら、どうすればそれらを非表示にできますか?
これが私がこれまでに試したことです
Dim ds As New DataSet
Dim query = From r In bookedorders Group By key = r.Field(Of Integer)("productgroup") Into Group
For Each grp In query
Dim x As New DataTable
x = grp.Group.CopyToDataTable()
ds.Tables.Add(x)
Next
結果のデータテーブルにすべての列を表示したくないなど、特定の列を選択する方法がわからない場合を除いて、これは機能しています。