Vb.net Datagridview行不可见,行选择随机
我使用下面的子命令使特定的行不可见,但是当我返回到过滤后的datagridview并尝试循环查看可见的行索引时,它会从列的顶部到列的底部,而不是按顺序(1、2、3…等等) 我可以将过滤器后的当前集设置为最上面的可见行,但这没有什么区别Vb.net Datagridview行不可见,行选择随机,vb.net,Vb.net,我使用下面的子命令使特定的行不可见,但是当我返回到过滤后的datagridview并尝试循环查看可见的行索引时,它会从列的顶部到列的底部,而不是按顺序(1、2、3…等等) 我可以将过滤器后的当前集设置为最上面的可见行,但这没有什么区别 Private Sub BR_VAL_NO_SHOW() Dim dgv As DataGridView = Me.dgvStockCheck_Available Dim cm1 As CurrencyManager = CType(Bi
Private Sub BR_VAL_NO_SHOW()
Dim dgv As DataGridView = Me.dgvStockCheck_Available
Dim cm1 As CurrencyManager = CType(BindingContext(dgv.DataSource), CurrencyManager)
Try
For i As Integer = 0 To dgv.Rows.Count - 1
If IsDBNull(dgv.Rows(i).Cells("MATERIAL").Value) Then
Exit Try
Else
If Not dgv.Rows(i).Cells("MATERIAL").Value = "SLAT" Then
dgv.CurrentCell = Nothing
cm1.SuspendBinding()
dgv.Rows(i).Visible = False
End If
End If
Next
Catch ex As Exception
End Try
End Sub
这是完全正常的 将当前单元格的值设置为
NOTHING
但是您可以使用IsDBNull
来验证哪一个不是相同的东西
不要混淆面向对象编程中“无”的概念
具有DBNull对象的语言。在面向对象编程中
语言,无表示没有对对象的引用。
DBNull表示一个未初始化的变量或不存在的数据库
列。
资料来源:
因此,一个解决方案可能是只检查是否可见
If dgv.Rows(i).Visible = False Then
'Not Visible
Exit Try
Else