Member 14075158 Ответов: 2

Как найти сумму столбца в datagridview в Си#


Я хочу получить такой ответ:
Column A	Column B	Column C
12.02	         10.00	         22.02
32.02            10.00           42.02
52.02


Что я уже пробовал:

private void DgView_CellValidated(object sender, DataGridViewCellEventArgs e)
        {
         if (DgView.CurrentCell.ColumnIndex == 0)
                {
                    DgView.Rows[DgView.CurrentCell.RowIndex].Cells[1].Value =                         cfun.convertdecimal(DgView.Rows[DgView.CurrentCell.RowIndex].Cells[0].Value.ToString())  + cfun.convertdecimal(txtValue.Text.ToString());
                }
}
 private void DgView_RowValidated(object sender, DataGridViewCellEventArgs e)
        {
            decimal sum = 0;

            for (decimal i = 0; i < DgView.Rows.Count+1; ++i)
            {
                sum = cfun.convertdecimal(DgView.Rows[DgView.CurrentCell.RowIndex].Cells[1].Value.ToString())
                     + cfun.convertdecimal(DgView.Rows[DgView.CurrentCell.RowIndex].Cells[2].Value.ToString());
            }
            DgView.Rows[DgASideView.CurrentCell.RowIndex].Cells[0].Value = sum.ToString();
        }
когда я пробую этот код, 1-я строка 1-го столбца меняется.хотите отобразить сумму во 2-й строке 1-го столбца и непрерывно

Richard MacCutchan

В чем же проблема?

2 Ответов

Рейтинг:
20

RickZeeland

Смотрите ответы здесь: Математические вычисления в представлении datagrid[^]
И еще: https://www.codeproject.com/Answers/1268855/How-to-sum-repeated-rows-in-datgridview-and-show-i#answer3


Рейтинг:
0

AAMERSAEED

Вы можете сделать это с помощью цикла for, но если вы хотите сделать это в одной строке.

long sum = (long)DgView.Compute("Sum(Column A)", "True");