VB.NET DataGridView - 如果知道第2列的行值,如何查找第1列值

时间:2016-02-09 18:43:47

标签: vb.net datagridview combobox

我有一个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。

感谢您的帮助,谢谢。

1 个答案:

答案 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