思路是循环判断,有重复就删除,无重复的关键列值,放在一个列表中,用于判断。
手打了下,试试下面的代码行不行:
public DataTable FilterDT(DataTable dt, int i)//i表示判断第几列重复
{
Listkey = new List ();//唯一键值列表
foreach (DataRow dr in dt.Rows)//循环每行
{
string temp = dr[i].ToString();
if (key.Count(x => x == temp) > 0)//有重复
{
dt.Rows.Remove(dr);//移除该行
}
else
{
key.Add(temp);//重复键值添加到唯一列表
}
}
return dt;
}
调用
DataTable dt = ...;
DataTable dtNew = FilterDT(dt, 1);