获取对固定列不重复的新DataTable

简介: #region 获取对固定列不重复的新DataTable/// <summary> /// 获取对固定列不重复的新DataTable /// </summary> /// <param name="dt">含有重复数据的DataTable</param> /// <param name="colName">需要验
#region 获取对固定列不重复的新DataTable
/// <summary>  
/// 获取对固定列不重复的新DataTable  
/// </summary>  
/// <param name="dt">含有重复数据的DataTable</param>  
/// <param name="colName">需要验证重复的列名</param>  
/// <returns>新的DataTable,colName列不重复,表格式保持不变</returns>  
private DataTable GetDistinctTable(DataTable dt, string colName)  
{  
    if (dt.Rows.Count == 0 || dt.Rows.Count == 1)  
    {  
        WriteFile("GetDistinctTable传入dt的行数小于等于1" + "\r\n", logName, out outMessage);  
        return dt;  
    }  
    DataView dv = dt.DefaultView;  
    //dv过滤dv中的重复列名  
    DataTable dtCardNo = dv.ToTable(true, colName);  
    DataTable Pointdt = new DataTable();  
    //ToTable()根据现有 DataView 中的行,创建并返回一个新的 DataTable。  
    //输出表与输入表包含相同的列  
    Pointdt = dv.ToTable();  
    Pointdt.Clear();  
    for (int i = 0; i < dtCardNo.Rows.Count; i++)  
    {  
        try  
        {  
            //dr取的是Select返回的DataRow[]中的第一条数据  
            //如果dtCardNo.Rows[i][0].ToString()中没有值会报数组超出索引界限的错误  
            if (!string.IsNullOrEmpty(dtCardNo.Rows[i][0].ToString()))  
            {  
               DataRow dr = dt.Select(colName + "='" + dtCardNo.Rows[i][0].ToString() + "'")[0];  
                //DataRow.ItemArray通过一个数组来获取或设置此行的所有值  
                Pointdt.Rows.Add(dr.ItemArray);  
            }  
        }  
        catch (Exception ee)  
        {  
           //可以将错误写入日志文件  
        }  
    }  
    return Pointdt;  
}  
#endregion  




linqs实现

http://blog.csdn.net/jiankunking/article/details/42749663

相关文章
excel判断表格中是否有重复值
excel判断表格中是否有重复值
|
7月前
|
SQL
sql语句按指定某个字段分组后删除重复数据只保留id最小/最大的一条数据
sql语句按指定某个字段分组后删除重复数据只保留id最小/最大的一条数据
148 0
|
8月前
|
小程序
06 - table表格标签+ 行合并+列合并
06 - table表格标签+ 行合并+列合并
142 0
|
前端开发
dataTable列内容过长隐藏
dataTable列内容过长隐藏
151 0
|
SQL
一条集多表查询、字段与字段拼接、合并每张表共同字段、新增列并赋值的SQL
一条集多表查询、字段与字段拼接、合并每张表共同字段、新增列并赋值的SQL
77 0
|
SQL 关系型数据库 MySQL
MySQL变量使用与介绍之为查询结果增加序号列和自定义序号列
SQL三:用户表(包含字段有:用户ID[自增]、姓名、性别、民族、出生日期、身份证号),无论查询条件如何,要求查询的结果显示一个行号列(即:第一行显示1,第二行显示2,第三行显示3,依此类推)
268 0
|
前端开发
Bootstrap - 列排序,列偏移,列嵌套
Bootstrap - 列排序,列偏移,列嵌套
107 0
DataTable 修改列名 删除列 调整列顺序
DataTable 修改列名 删除列 调整列顺序
220 0
|
SQL 算法 测试技术
Guid算法与标识列(自动增长字段)在表中的应用
Guid算法与标识列(自动增长字段)在表中的应用
187 0
Guid算法与标识列(自动增长字段)在表中的应用