我从电子表格中获取数据后返回了一个数据表。我只需要显示结果集,而不同的行只依赖于一列。
例如,我有一个带有列的数据表
id | name | age | email
如果列出了多个具有相同 id 的记录,则应省略。我试过了
dt = dt.DefaultView.ToTable(true)
但它返回所有列的不同记录。我只需要基于id的不同记录。
有人可以帮我吗?
答案 0 :(得分:4)
您可以使用GroupBy
: -
DataTable result = dt.AsEnumerable()
.GroupBy(x => x.Field<int>("Id"))
.Select(x => x.First()).CopyToDataTable();
请注意,如果匹配Id
,我会收到第一条记录并忽略其余记录。
答案 1 :(得分:0)
您需要提及将执行ToTable操作的列名称以选择不同的值。
请在下面的代码部分找到
DataView view = new DataView(table);
DataTable distinctValues = view.ToTable(true, "id");