【自己写的,亲测好用】c#winform datagridview datatable 增加合计行 列合计
//增加合计行
var hejirow = dt.NewRow();
hejirow["日期"] = "合计";//第一列单元格内容为合计
for (int i = 0; i < dg1.Rows.Count; i++)
{
var row = dg1.Rows[i];
foreach (DataGridViewColumn item in dg1.Columns)
{
if ("日期,".Contains(item.Name)) continue;//跳过不需要合计的列 第一列日期列不需要 有其他的就增加
var nr = row.Cells[item.Name].Value + "";
if (nr != "")
{
var tempnr = hejirow[item.Name] + "";
if (tempnr == "")
{
hejirow[item.Name] = nr;
}
else
{
hejirow[item.Name] = decimal.Parse(nr) + decimal.Parse(hejirow[item.Name] + "");
}
}
}
}
//行插入到datatable最后一行 合计行完成
dt.Rows.Add(hejirow);
1
2
//增加合计行3
var hejirow = dt.NewRow();4
hejirow["日期"] = "合计";//第一列单元格内容为合计5
for (int i = 0; i < dg1.Rows.Count; i++)6
{7
var row = dg1.Rows[i];8
foreach (DataGridViewColumn item in dg1.Columns)9
{10
if ("日期,".Contains(item.Name)) continue;//跳过不需要合计的列 第一列日期列不需要 有其他的就增加11
var nr = row.Cells[item.Name].Value + "";12
if (nr != "")13
{14
var tempnr = hejirow[item.Name] + "";15
if (tempnr == "")16
{17
hejirow[item.Name] = nr;18
}19
else20
{21
hejirow[item.Name] = decimal.Parse(nr) + decimal.Parse(hejirow[item.Name] + "");22
}23
}24
}25
26
}27
//行插入到datatable最后一行 合计行完成28
dt.Rows.Add(hejirow);29

浙公网安备 33010602011771号