首页 > 解决方案 > 检查datagridview的值

问题描述

我正在导入一个 excel 文件,在这个 excel 中,在一列中,我们将其命名为 CodeName,它的可能值是 A01、A02、B01、B02。这些是唯一可能的值

是否可以在 datagridview 中读取行的内容,并有一个条件,我只能有 A01、A02、B01 或 B02?

目前我在想;

 'READING every row TESTING
        For Each row As DataGridViewRow In DataGridView1.Rows
            If -----Then
             'MsgBox("content has wrong value")
            End If
        Next

标签: vb.netdatagridview

解决方案


正如它在评论中所说,最好用只带来 CodeName = YourValues 行DataGridView的语句填充SELECT

尽管要回答您将来可能对您有所帮助的问题,但我会这样做:

        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's 的列表更整洁,但这完全取决于你。

msgBox如果有很多行不包含您要查找的值,您可能不希望这样会很烦人。

也许只是设置dgvRow.Cells("CodeName").Style.BackColor = Color.Red或其他东西,这样您就可以看到错误的值,而不必每次都单击“确定”。


推荐阅读