Как сложить 2 столбца в строке datagridView - PullRequest
0 голосов
/ 21 сентября 2018

Привет, ребята?я работаю над формой приложения Windows c #, и у меня есть 4 столбца в моем datagridView, скажем, у меня есть 3 строки, как это

-------------------------------
|Grade1|Grade2|Average|Remarks|
|------|------|-------|-------|
|    85|    80|   82.5|PASSED |
|    76|    86|     81|PASSED |
|    75|    72|   73.5|FAILED |
-------------------------------

Теперь мой вопрос, возможно ли, если я нажму кнопку вычисления, это будетвычислить все строки столбца «Grade1» и столбца «Grade2», вычисление будет

Grade1 + Grade2 = Average and Average = Average/2

, если оно ниже 74, столбец замечаний автоматически имеет «FAILED», если он выше 75,У колонки замечаний автоматически есть "PASSED"

У кого-нибудь есть пример кода или ссылка, которая может помочь мне сделать это?Большое вам спасибо!

Ответы [ 3 ]

0 голосов
/ 21 сентября 2018
private void CalculateButton_Click(object sender, EventArgs e)
{
    foreach (DataGridViewRow row in dgvGrades.Rows)
    {
        if (decimal.TryParse(row.Cells["Grade1"]?.Value?.ToString(), out decimal Grade1)
            && decimal.TryParse(row.Cells["Grade2"]?.Value?.ToString(), out decimal Grade2))
        {
            var avg = (Grade1 + Grade2) / 2;
            row.Cells["Average"].Value = avg;

            if (avg < 74)
            {
                row.Cells["Remarks"].Value = "FAILED";
            }
            else
            {
                row.Cells["Remarks"].Value = "PASSED";
            }
        }
    }
}

enter image description here

0 голосов
/ 22 сентября 2018

Я бы просто добавил членов в класс, который заполняет массив или список, который используется для заполнения сетки.Методы получения для полей среднего и pass / fail могут обрабатывать логику.

0 голосов
/ 21 сентября 2018

Вы можете перечислить все строки, выполнив

foreach(DataGridViewRow row in dataGridView.Rows)

. Вы можете получить или установить значение ячеек в этой конкретной строке, выполнив

row["column name"].Value

.событие для Button.Click (либо в коде с помощью .Click += handler, либо в конструкторе)

Собрать все эти кусочки и придумать рабочее решение будет вашим упражнением.Удачи:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...