DataTable中的独特记录

Nom*_*Ali 2 c# asp.net datatable dataset

我希望根据某些字段获得不同的记录.我正在使用以下方法:

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;
}
Run Code Online (Sandbox Code Playgroud)

这给了我不同的记录,但只有两个记录.只会有两个不同的PKID.例如,我有PKID 10,12,14,16的多个记录,但结果是PKID 10和12的2行.更多的两行不存在,但应该在那里.我需要做什么?

我按照这篇文章:http://www.codeproject.com/Tips/153008/Select-DISTINCT-records-based-on-specified-fields

在此输入图像描述

शेख*_*ेखर 11

你可以使用如下

DataView view = new DataView(table);
DataTable distinctValues = view.ToTable(true, "Column1", "Column2" ...);
Run Code Online (Sandbox Code Playgroud)

更多详细信息
如何选择数据表中的不同行并存储到数组中


Xel*_*lom 6

你能试试吗?

var myResult = dt.AsEnumerable().Select(c => (DataRow)c["MyColumn"]).Distinct().ToList();
Run Code Online (Sandbox Code Playgroud)