小智 78
不要dtEmp
在你的当前工作的DataTable:
DataTable distinctTable = dtEmp.DefaultView.ToTable( /*distinct*/ true);
Run Code Online (Sandbox Code Playgroud)
这真好.
rat*_*tty 72
删除重复项
public DataTable RemoveDuplicateRows(DataTable dTable, string colName)
{
Hashtable hTable = new Hashtable();
ArrayList duplicateList = new ArrayList();
//Add list of all the unique item value to hashtable, which stores combination of key, value pair.
//And add duplicate item value in arraylist.
foreach (DataRow drow in dTable.Rows)
{
if (hTable.Contains(drow[colName]))
duplicateList.Add(drow);
else
hTable.Add(drow[colName], string.Empty);
}
//Removing a list of duplicate items from datatable.
foreach (DataRow dRow in duplicateList)
dTable.Rows.Remove(dRow);
//Datatable which contains unique records will be return as output.
return dTable;
}
Run Code Online (Sandbox Code Playgroud)
这里链接如下
http://www.dotnetspider.com/resources/4535-Remove-duplicate-records-from-table.aspx
http://www.dotnetspark.com/kb/94-remove-duplicate-rows-value-from-datatable.aspx
用于删除列中的重复项
http://dotnetguts.blogspot.com/2007/02/removing-duplicate-records-from.html
小智 14
这篇文章是关于基于多个列仅从数据表中获取Distincts行.
Public coid removeDuplicatesRows(DataTable dt)
{
DataTable uniqueCols = dt.DefaultView.ToTable(true, "RNORFQNo", "ManufacturerPartNo", "RNORFQId", "ItemId", "RNONo", "Quantity", "NSNNo", "UOMName", "MOQ", "ItemDescription");
}
Run Code Online (Sandbox Code Playgroud)
您需要调用此方法,并且需要为数据表赋值.在上面的代码中,我们有RNORFQNo,PartNo,RFQ id,ItemId,RNONo,QUANTity,NSNNO,UOMName,MOQ和Item Description作为我们想要不同值的列.
Has*_*man 12
一个简单的方法是:
var newDt= dt.AsEnumerable()
.GroupBy(x => x.Field<int>("ColumnName"))
.Select(y => y.First())
.CopyToDataTable();
Run Code Online (Sandbox Code Playgroud)
这是一种简单快捷的使用方法 AsEnumerable().Distinct()
private DataTable RemoveDuplicatesRecords(DataTable dt)
{
//Returns just 5 unique rows
var UniqueRows = dt.AsEnumerable().Distinct(DataRowComparer.Default);
DataTable dt2 = UniqueRows.CopyToDataTable();
return dt2;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
141022 次 |
最近记录: |