c# - DataTable 中的不同记录

标签 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;
}

这给了我不同的记录,但只有两条记录。只有两个不同的 PKID 会出现。例如,我有多个 PKID 为 10、12、14、16 的记录,但结果是 2 行 PKID 为 10 和 12。还有两行不存在,但应该存在。我需要做什么?

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

enter image description here

最佳答案

你可以像下面这样使用

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/

相关文章:

javascript - 模态未使用新数据刷新

asp.net - 动态添加文本框

javascript - 使用自定义搜索框值更新数据表搜索框值

jquery - 是否可以自定义Jquery数据表默认生成的dom结构?

javascript - 来自其他站点的链接应打开该站点的第一个链接

c# - 如果没有等待最后一个 MoveNextAsync() 任务,IAsyncEnumerator<T>.DisposeAsync() 是否应该抛出异常?

asp.net - 如何使用 Quartz.net 和 ASP.NET 来调度作业以触发邮件?

c# - 未找到类异常 : xamarin android

c# - 使用 LINQ,您将如何从列表中过滤掉特定条件中除一项以外的所有项?

c# - 数据表 - 对一行中的每个单元格求和