Как сказано в комментариях, было бы лучше заполнить DataGridView
оператором SELECT
, который приводит только строки с CodeName = YourValues
Хотя, чтобы ответить на ваш вопрос, который может помочь вам в будущем, я бы сделал что-то вроде этого:
For Each dgvRow As DataGridViewRow In DataGridView1.Rows
If dgvRow.Cells("CodeName").Value Is DBNull.Value Then
MsgBox("Wrong Value")
Else
Select Case dgvRow.Cells("CodeName").Value
Case "A01", "A02", "B01", "B02"
'Do nothing
Case Else
MsgBox("Wrong Value")
End Select
End If
Next
Сначала я проверяю NULL
, а затем использую оператор SELECT CASE
, потому что, сравнивая что-то с несколькими значениями, я чувствую, что это более аккуратно, чем список ElseIf
, но это зависит только от вас.
Возможно, вы не захотите msgBox
, хотя, как если бы это было довольно раздражающим, если есть много строк, которые не содержат значений, которые вы ищете.
Возможно, просто установите dgvRow.Cells("CodeName").Style.BackColor = Color.Red
или что-то вместо этого, чтобы вы могли видеть неправильные значения и не каждый раз нажимать кнопку ОК.