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