我发现这段代码可用于获取所有不同的值。但我的数据表有 10 列。distinctValues 仅显示我在 toTable() 中写入的列;是否可以使用此功能,但也可以显示其余列?
DataView view = new DataView(table);
DataTable distinctValues = view.ToTable(true, "Column1", "Column2");
除非您提到的那些列是表的完整键,否则不能保证对于这两个列的特定组合,其他列将只有一个值。
如果它们是关键,那么就没有必要使用“不同的”过滤器。
您可以使用Linq-To-DataTable
var distinct = from row in table.AsEnumerable()
group row by new
{
Col1 = row.Field<string>("Column1"),
Col2 = row.Field<string>("Column2")
} into Group
select Group.First()
DataTable tblDistinct = distinctRows.CopyToDataTable();
(假设你只想要一个任意行[第一个])