Умножение значений столбцов в представлении данных
В настоящее время я делаю систему начисления заработной платы, и я пытаюсь сделать расчеты между столбцами. Я пытаюсь умножить постоянное значение на значения в столбце с именем 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"?
Изображение ниже для справки:
1 ответ
но это только умножает значение в первой строке
Естественно. Вы делаете расчеты только для CurrentRow
:
Вместо этого вам нужно перебрать все строки в DatagridView
и применить расчеты, вот так:
For Each rowX As DataGridViewRow In dgv.Rows
rowX.Cells(5).Value = rowX.Cells(5).Value * 11.0m;
Next
Кроме того, вам нужно поместить ваш цикл в более подходящий обработчик, такой как событие DataGridView.DataBindingComplete.