记录一次对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(); // 保存修改的结果
}
}
}
}