我想根据某些字段获得不同的记录。我正在使用以下方法:
string[] TobeDistinct = { "PKID" };
DataTable dtDistinct = GetDistinctRecords(ds.Tables[0], TobeDistinct);
DataSet ds2 = new System.Data.DataSet();
ds2.Tables.Add(dtDistinct);
public static DataTable GetDistinctRecords(DataTable dt, string[] Columns)
{
DataTable dtUniqRecords = new DataTable();
dtUniqRecords = dt.DefaultView.ToTable(true, Columns);
return dtUniqRecords;
}
这给了我不同的记录,但只有两条记录。只有两个不同的 PKID 会出现。例如,我有多个 PKID 为 10、12、14、16 的记录,但结果是 2 行 PKID 为 10 和 12。还有两行不存在,但应该存在。我需要做什么?
我关注这篇文章:http://www.codeproject.com/Tips/153008/Select-DISTINCT-records-based-on-specified-fields
最佳答案
你可以像下面这样使用
DataView view = new DataView(table);
DataTable distinctValues = view.ToTable(true, "Column1", "Column2" ...);
更多细节
How to select distinct rows in a datatable and store into an array
关于c# - DataTable 中的不同记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15898688/