0

datagridview の最後の列のセルの値の合計を表示する方法。名前と値の 2 つの列を持つグリッドがあります。グリッドの最後の行に値の合計を含むテキスト ボックスが必要です。

4

2 に答える 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 に答える