0

私は3つの列を持っていdatagridviewますvb.net。最初の列は製品の説明、2 列目は製品番号、3 列目は価格です。

datagridview製品番号で検索し、価格列に対応する値を返したいと思います。

s でテキストを検索することはできますdatagridviewが、価格セルなどの対応するセルの値を読み取ることができません。

Private Sub Button33_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button33.Click
    Dim rowindex As String
    For Each row As DataGridViewRow In DataGridView1.Rows
        If row.Cells.Item("ITEM_ID").Value = TextBox5.Text Then
            rowindex = row.Index.ToString()

            Dim actie As String = row.Cells("PRICE").Value.ToString()
            MsgBox(actie)

        Else

            MsgBox("Item not found")

        End If
    Next
End Sub
4

2 に答える 2

4

わかりました、コードの更新をありがとう。これを行う:

Private Sub Button33_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button33.Click
    Dim rowindex As String
    Dim found as Boolean = false
    For Each row As DataGridViewRow In DataGridView1.Rows
        If row.Cells.Item("ITEM_ID").Value = TextBox5.Text Then
            rowindex = row.Index.ToString()
            found = true
            Dim actie As String = row.Cells("PRICE").Value.ToString()
            MsgBox(actie)
            Exit for
        End If
    Next
    If Not found Then
       MsgBox("Item not found")
    End if    
End Sub

これが行うことは、すべてのアイテムをループすることです。一致が見つかると、found を true に設定します。アイテムが見つからない場合、ループが終了すると "found" は false になります。「見つかった」が false の場合は、「アイテムが見つかりません」と表示されます。ご理解いただければ幸いです。それ以外の場合はお尋ねください:)

于 2013-10-07T13:08:30.823 に答える