datagridview の最後の列のセルの値の合計を表示する方法。名前と値の 2 つの列を持つグリッドがあります。グリッドの最後の行に値の合計を含むテキスト ボックスが必要です。
質問する
7442 次
2 に答える
0
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 を使用することができます。
于 2012-11-13T15:37:23.137 に答える
0
最後の列に整数値があると仮定すると、次のようなものを使用できます: 編集: 現在の行が新しい行 (挿入用の行) であるかどうかを確認する必要があります。
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()});
他のタイプの数値がある場合は、その数値を解析する必要があります。
*編集: *コメントに記載されているように、DataGridView
データにバインドされたコントロールがあります。この場合、バインディングのソースにデータを追加する必要があります。それが の場合、DataTable
に追加するのではなく、それに追加する必要がありますDataGridView
。
DataTable dt = (DataTable)dataGridView1.DataSource;
dt.Rows.Add(new object[] { "Total" , sum.ToString() });
于 2012-11-13T15:23:24.100 に答える