Vb.net Datatable和Datagridview单元计算

Vb.net Datatable和Datagridview单元计算,vb.net,Vb.net,这是我的初始代码 Private Sub Create_vTable() Dim i,j As Integer Dim q, PV, YP, MW, id As Double q = TextBox1.Text MW = TextBox2.Text PV = TextBox3.Text YP = TextBox4.Text vTable = New DataTable vTable.Columns.Add("Name", Get

这是我的初始代码

Private Sub Create_vTable()
    Dim i,j As Integer
    Dim q, PV, YP, MW, id As Double

    q = TextBox1.Text
    MW = TextBox2.Text
    PV = TextBox3.Text
    YP = TextBox4.Text

    vTable = New DataTable
    vTable.Columns.Add("Name", GetType(String))
    vTable.Columns.Add("Len", GetType(Double))
    vTable.Columns.Add("ID", GetType(Double))
    vTable.Columns.Add("OD", GetType(Double))
    vTable.Columns.Add("Totlen", GetType(Double))
    vTable.Columns.Add("Vel", GetType(Double))

    id = DGV6.CurrentRow.Cells(2).Value

    For i = 0 To DGV6.Rows.Count - 2
        vRow = vTable.NewRow
        vRow.Item(5) = (q / (2.448 * (id) ^ 2))
        For j = 0 To DGV6.Columns.Count - 1
            vRow.Item(j) = DGV.Rows(i).Cells(j).Value.ToString

        Next
        vTable.Rows.Add(vRow)
    Next

    Catch ex As Exception

    End Try

End Sub

我在DGV6和文本框中有数据,我喜欢对每个单元格的datatable项5进行计算,但在测试后,结果显示只对整个列计算了一次,而不是在每个单元格后面,任何人都可以提供帮助,提前感谢

您只能从DataGridView中的一行获得一次
id
值。您必须在每个循环迭代中获得它的值:

For i = 0 To DGV6.Rows.Count - 2
    vRow = vTable.NewRow
    id = DGV.Rows(i).Cells(2).Value
    vRow.Item(5) = (q / (2.448 * (id) ^ 2))
    For j = 0 To DGV6.Columns.Count - 1
        vRow.Item(j) = DGV.Rows(i).Cells(j).Value.ToString

    Next
    vTable.Rows.Add(vRow)
Next

您只能从DataGridView中的一行中获取一次
id
值。您必须在每个循环迭代中获得它的值:

For i = 0 To DGV6.Rows.Count - 2
    vRow = vTable.NewRow
    id = DGV.Rows(i).Cells(2).Value
    vRow.Item(5) = (q / (2.448 * (id) ^ 2))
    For j = 0 To DGV6.Columns.Count - 1
        vRow.Item(j) = DGV.Rows(i).Cells(j).Value.ToString

    Next
    vTable.Rows.Add(vRow)
Next

表结果与以前一样,我需要计算列id中每一行的数据,因为值不同。表结果与以前一样,我需要计算列id中每一行的数据,因为值不同