记录一次对DataTable中的数据筛选去重后,然后对数据进行修改!
foreach (DataRow dr in dt.Rows) // 便利dt { if (StringUtil.isNotNullOrBlank(dr["GEN_REST_CODE"]))//判断是否有产生余料编号,存在继续执行 { DataRow[] tmpDrs = null; tmpDrs = dt.Select(string.Format("GEN_REST_CODE='{0}'", dr["GEN_REST_CODE"].ToString())); //筛选数据 if (tmpDrs.Length != 0) { DataRow[] tmpDrs2 = null; tmpDrs2 = dt.Select(string.Format("NEST_NAME='{0}'", tmpDrs[0].ItemArray[0])); for (int i = 0; i < tmpDrs2.Length-1; i++) // 修改产生余料编号 { DataRow dRow = tmpDrs2[i]; dRow.BeginEdit(); //开始编辑 dRow["GEN_REST_CODE"] = tmpDrs[0].ItemArray[5]; dRow.EndEdit(); //结束编辑 dt.AcceptChanges(); // 保存修改的结果 } } } }