【自己写的,亲测好用】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
else
20
{
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