0

datagridviewでアイテムを検索しているときに問題が発生しました。これが私のコードですが、データベースにすでに存在するアイテムを検索すると、見つからないというメッセージが表示されます。

If txtfirstname.Text = "" Then
    MsgBox("Please enter first name!")
Else
    Dim totalrow As Integer = DataGridView1.RowCount - 2
    Dim rowin As Integer
    Dim flag As Boolean = False
    Dim sear As String = CStr(txtfirstname.Text)

    For rowin = 0 To totalrow
        Dim id As String = DataGridView1.Item(0, rowin).Value

        If sear = id Then
            DataGridView1.ClearSelection()
            DataGridView1.Rows(rowin).Selected = True
            DataGridView1.CurrentCell = DataGridView1.Item(0, rowin)

            flag = True
            Exit Sub
        Else
            flag = False
        End If

    Next rowin

    If flag = False Then
        MessageBox.Show("Firstname " & txtfirstname.Text & " is not found in database.", "Search Information", MessageBoxButtons.OK, MessageBoxIcon.Information)
    End If

End If
4

1 に答える 1

0

設定することにより

Dim totalrow As Integer = DataGridView1.RowCount - 2

データセットの最後のレコードが常に欠落しています。

試す

Dim totalrow As Integer = DataGridView1.RowCount - 1

Forループの上限値を設定します。

于 2012-05-10T10:40:17.340 に答える