我正在使用以下代码对数据进行排序..
Dim sortedExtRecords1 As DataTable
sortedExtRecords1 = parsedDataset.Tables("Detail").Clone
Dim dvParsedDataset1 As New DataView(parsedDataset.Tables("Detail"))
dvParsedDataset1.Sort = AuthorizatonConstants.Authorization_ID
sortedExtRecords1 = dvParsedDataset1.ToTable("Detail")
我可以进一步过滤结果只返回非重复项,如果有重复项,我只想要复制的最后一条记录。我的副本大小不一些有些ID可以有3个重复其他5个其他10个,我不确定这是否重要
答案 0 :(得分:1)
您可以使用LINQ
:
DataTable nonDups = parsedDataset.Tables("Detail").AsEnumerable()
.GroupBy(row => row.Field<string>("Authorization_ID"))
.OrderBy(grp => grp.Key)
.Select(grp => grp.Last())
.CopyToDataTable();
这将选择每个dup-group的最后一行。如果您想订购论坛,请使用grp.OrderBy
。