在datagridview中乘以列值

Multiplying column values in datagridview

我目前正在制作工资单系统,我正在尝试在列之间进行计算。我正在尝试将一个常数值乘以名为 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"?

下图供参考:

2nd Form

but it only multiplies the value in the first row

当然。您正在对 CurrentRow:

进行计算

相反,您需要遍历 DatagridView 中的所有行并应用计算,如下所示:

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

此外,您需要将循环放在更合适的处理程序中,例如 DataGridView.DataBindingComplete 事件。