Умножение значений столбцов в представлении данных

В настоящее время я делаю систему начисления заработной платы, и я пытаюсь сделать расчеты между столбцами. Я пытаюсь умножить постоянное значение на значения в столбце с именем PayRate.

У меня в настоящее время есть две формы. первая форма, где я отмечаю все необходимые отчисления и заработок. когда это будет выполнено, будет нажата кнопка, и будет показана вторая форма, содержащая сетку данных с данными о сотруднике и ставкой оплаты.

вот мой код:

    Private Sub btnPayroll_Click(sender As Object, e As EventArgs) Handles btnPayroll.Click
    myConnection.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0;   Data Source = C:\Users\MatMat\Documents\PBIPayrollMgmt1.accdb;"
    myConnection.Open()

    datagridshow()

    Me.Hide()
    viewPayroll.Show()

    If CheckBox1.Checked Then
        Try
            Dim icell As Double
            Dim totalpay As Double

            icell = viewPayroll.DataGridView1.CurrentRow.Cells(5).Value

            totalpay = icell * 11.0

            viewPayroll.DataGridView1.CurrentRow.Cells(5).Value = totalpay


        Catch ex As Exception
            MessageBox.Show(ex.ToString)
        End Try
    End If

End Sub

что он делает то, что мне нужно, но он только умножает значение в первой строке. Как мне применить его ко всем строкам? Есть ли такая вещь, как "CurrentColumn"?

Изображение ниже для справки:

2-я форма

1 ответ

Решение

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

Естественно. Вы делаете расчеты только для CurrentRow:

Вместо этого вам нужно перебрать все строки в DatagridView и применить расчеты, вот так:

For Each rowX As DataGridViewRow In dgv.Rows
    rowX.Cells(5).Value = rowX.Cells(5).Value * 11.0m;
Next

Кроме того, вам нужно поместить ваш цикл в более подходящий обработчик, такой как событие DataGridView.DataBindingComplete.

Другие вопросы по тегам