C# datable去掉重复的行
DataTable dt = DbFactory.Instance.GetDbHelp().GetDataTable(sql); // 获取数据源
DataTable dt2 = dt.Clone(); // 克隆一个table
dt2.Clear(); // 清理table
dt2.PrimaryKey = new DataColumn[] { dt2.Columns["LAND_TYPE"], dt2.Columns["VILLAGE"], dt2.Columns["COUNTYSIDE"], dt2.Columns["LAND_OWNER"] };
foreach (DataRow row in dt.Rows)
{
DataRow srow = dt2.Rows.Find(new object[] { row["LAND_TYPE"].ToString(), row["VILLAGE"], row["COUNTYSIDE"], row["LAND_OWNER"] });
if (srow == null)
{
dt2.Rows.Add(row.ItemArray);
}
else
{
if (!srow["TFH"].ToString().Contains(row["TFH"].ToString()))
{
srow["TFH"] = srow["TFH"].ToString() + "," + row["TFH"].ToString();
}
if (!srow["TBH"].ToString().Contains(row["TBH"].ToString()))
{
srow["TBH"] = srow["TBH"].ToString() + "," + row["TBH"].ToString();
}
if (row["AREA"].ToString() != "")
{
srow["AREA"] = (Convert.ToDouble(srow["AREA"]) + Convert.ToDouble(row["AREA"])).ToString();
}
if (row["gy_area"].ToString() != "")
{
srow["gy_area"] = (Convert.ToDouble(srow["gy_area"] == DBNull.Value ? "0" : srow["gy_area"]) + Convert.ToDouble(row["gy_area"])).ToString();
}
if (row["jt_area"].ToString() != "")
{
srow["jt_area"] = (Convert.ToDouble(srow["jt_area"] == DBNull.Value ? "0" : srow["jt_area"]) + Convert.ToDouble(row["jt_area"])).ToString();
}
//srow["change_area"] = (Convert.ToDouble(srow["change_area"]) + Convert.ToDouble(row["change_area"])).tostring();
//srow["receive_area"] = (Convert.ToDouble(srow["receive_area"]) + Convert.ToDouble(row["receive_area"])).tostring();
}
}
return dt2;

浙公网安备 33010602011771号