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)
更多详细信息
如何选择数据表中的不同行并存储到数组中
你能试试吗?
var myResult = dt.AsEnumerable().Select(c => (DataRow)c["MyColumn"]).Distinct().ToList();
Run Code Online (Sandbox Code Playgroud)