特定の行を非表示にするには以下のサブを使用しますが、フィルターをかけたDataGridviewに戻って表示行インデックスを循環させようとすると、列の先頭から(1,2,3 ...というように)順番に進むのではなく、列の最下行に表示されます。Datagridview行非表示の行選択ランダム
フィルタの後の現在の設定を上部の表示行に設定できましたが、それは違いはありません。
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