我能够获得正确的行数,但问题是当我运行循环时。在datagridview中查找可见行的值
OrdNum = dgvWsNorth.Rows(i).Cells("ORDNUM").Value.ToString()
这条线将遍历所有可见和不可见的行=到行数。
我需要它通过只可见行=循环行数。
Dim AllRows As Integer = dgvWsNorth.Rows.GetRowCount(DataGridViewElementStates.Visible)
Dim OrdNum As Integer
Dim LinNum As Integer
Dim UnitPriority As Integer
Dim Ws_N As Integer = My.Settings.NorthLine
For i = 0 To AllRows - 1
OrdNum = dgvWsNorth.Rows(i).Cells("ORDNUM").Value.ToString()
LinNum = dgvWsNorth.Rows(i).Cells("LINE").Value.ToString()
If IsDBNull(dgvWsNorth.Rows(i).Cells("UNIT_PRIORITY").Value) Then
UnitPriority = 999
Else
UnitPriority = dgvWsNorth.Rows(i).Cells("UNIT_PRIORITY").Value.ToString()
End If
clsScheduler.UPDATE_ASSIGNED_WS(Ws_N, OrdNum, LinNum, clsLogin.plant_id, clsLogin.dept_id, UnitPriority)
Next
仅仅因为行被隐藏并不意味着它们的行索引更改。正如已经回答的那样,我认为你需要检查当前的迭代是否是可见的行,并采取行动。 –