C# DataTable数据合并去掉重复行问题

项目遇到gridview 绑定数据与新增数据不重复问题,网上搜集资料,实践应用后代码如下:

 

  //根据选定的合同带出数据
        DataTable dtnew = zjzb.getMXList(ddlYear.SelectedValue, str1, txtTBSJ.Text.Trim());

        // 获取已加载的数据
        DataTable dt = this.GetDataFromGridNewData();

        //新增数据与已加载数据合并
        dt.Merge(dtnew);

        //------------去掉重复行---------Start
        DataView dv = new DataView(dt);
        //合并后的数据按合同编号排序
        dv.Sort = "htnm asc";
        string[] columnsArray = { "xmnm", "xmmc", "htnm", "htmc", "htje", "bnys", "wnzc", "bnzc", "ljzc", "ydyf", "jhzc", "bz" };
        //去除所有列都重复的行
        dt = dv.ToTable(true, columnsArray);
        //去掉合同内码列重复的行
        for (int i = 1; i < dt.Rows.Count; i++)
        {
            //执行到每一行都和上一行进行比较,如果期望列的列值相同则删除当前行,同时游标退后一步 
            if (dt.Rows[i]["htnm"].ToString() == dt.Rows[i - 1]["htnm"].ToString())
            {
                dt.Rows.RemoveAt(i);
                i--;
            }
        }
        dt.AcceptChanges();
        //------------去掉重复行---------End
        this.griduser.DataSource = dt;
        this.griduser.DataBind();

 

 

posted @ 2013-08-29 17:46  迷茫前行  阅读(4183)  评论(0编辑  收藏  举报