在处理C#DataTable时,合并重复行,并相加相关值,例如金额等,代码如下:
DataTable detail_dt = (DataTable)DrugDetail.DataSource; //绑定之后判断是否有重复数据,重复数据进行合并 if (detail_dt != null){ for (int i = 0; i < detail_dt.Rows.Count; i++){ //两层循环判断表格内是否有数据重复,如果有则合并加上数量即可 for (int j = i+1; j < detail_dt.Rows.Count;) { if (detail_dt.Rows[i]["drug_code"].ToString() == detail_dt.Rows[j]["drug_code"].ToString()&& detail_dt.Rows[i]["serial"].ToString() == detail_dt.Rows[j]["serial"].ToString()) { detail_dt.Rows[i["amount"]=Convert.ToDouble(detail_dt.Rows[i]["amount"]) +Convert.ToDouble(detail_dt.Rows[j]["amount"]); detail_dt.Rows[j].Delete(); } else {//这里是若没有数据重复,则取下一行继续比较,若重复了则因为删除了一行,不需要执行j++进行下一行取值。 j++; } } } }