【发布时间】:2012-11-13 15:14:27
【问题描述】:
如何在datagridview中显示最后一列单元格的值的总和。 我有一个包含 2 列名称和值的网格。 我希望网格有一个文本框,其中最后一行的值总和。
【问题讨论】:
标签: c# datagridview windows-applications
如何在datagridview中显示最后一列单元格的值的总和。 我有一个包含 2 列名称和值的网格。 我希望网格有一个文本框,其中最后一行的值总和。
【问题讨论】:
标签: c# datagridview windows-applications
var value = dataGridView1.Rows.Cast<DataGridViewRow>().Sum(x =>
{
double val = 0;
if (double.TryParse(x.Cells["Column"], out val))
return val;
else
return 0;
});
这应该使用 LINQ 为您完成。
【讨论】:
假设您的最后一列中有整数值,您可以使用如下内容: 编辑:您应该检查当前行是否为新行(用于插入的行)
int sum = 0;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
int num = 0;
if(!dataGridView1.Rows[i].IsNewRow)
if (int.TryParse(dataGridView1.Rows[i].Cells[dataGridView1.Columns.Count - 1].Value.ToString(), out num))
sum += num;
}
dataGridView1.Rows.Add(new object[] { "Total", sum.ToString()});
如果您有其他类型的数字,您应该解析该数字。
*编辑:*如 cmets 所述,您有一个 DataGridView 数据绑定控件。在这种情况下,您应该将数据添加到绑定源。如果是DataTable,您应该添加到它而不是添加到DataGridView。
DataTable dt = (DataTable)dataGridView1.DataSource;
dt.Rows.Add(new object[] { "Total" , sum.ToString() });
【讨论】: