記錄一次對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(); // 保存修改的結果 } } } }
