我有一个DataGridView,它按以下方式列出:
OrderID - OrderPrice - CustomerName
01 - £9.99 - John Stones
我目前有一个包含所有客户名称的ComboBox(ComboBox与DataGridView绑定,但仅显示CustomerName列)。当我在ComboBox中选择John Stones时,我想要一个标签,指示ComboBox中所选项目的OrderID。因此,一旦我在ComboBox中选择John Stones,label1.text应该等于01 - 因为它是CustomerName John Stones的OrderID。
感谢您的帮助,谢谢。
答案 0 :(得分:0)
您可以使用循环遍历所有DataGridView行,请参阅代码示例
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'String varible to store OrderID
Dim OrderID As String = ""
'Loop through all rows
For g As Integer = 0 To DataGridView1.RowCount
'Check if a row contains ComboBox1.Text as value in cell 3
If DataGridView1.Rows.Item(g).Cells.Item(2).Value = ComboBox1.Text Then
'Set value of OrderID
OrderID = DataGridView1.Rows.Item(g).Cells.Item(0).Value.ToString()
End If
Next
End Sub
DataGridView1.Rows.Item(g)
返回索引为g
的行,每次循环循环时,该行增加1。 .Cells.Item(2).Value
返回datagridview第三列中单元格的值。这在If
- 函数内部是相同的,其中该行中第一个单元格的值被分配给OrderID
。