【发布时间】:2012-10-05 18:40:10
【问题描述】:
这样的事情最好的方法是什么?
这是我的数据表
╔═══════════════╦═══════════════╦═══════════════╗
║ 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
除了我不确定如何选择特定列之外,现在这正在工作,就像我不想显示结果数据表中的所有列
【问题讨论】:
-
@channs 刚刚将其添加到问题中
标签: vb.net linq datatable group-by dataset