项目遇到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();