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();

 

 

你可能感兴趣的:(Datatable)