繁体   English   中英

通过标题文本选择dataGridView中的单元格

[英]Select cell in dataGridView by header text

我正在遍历datagridview中的行,并每次都从第三列中选择一个单元格:

Dim customer_name as String
For Each dgvr As DataGridViewRow In myDataGridView.Rows
   customer_name= dgvr.Cells(2).Value
   '....
next dgvr

但是,如果要向网格中添加新列,我真的很想使其动态化,因此我需要第4列,而不是第3列。

理想情况下,我想使用列的标题文本。 所以像...

customer_name= dgvr.Cells("Customer").value

能做到吗?

此代码对于特定列名称下的选定单元格效果很好。 也许您可以将其用于所需的内容。 最好的部分是,它会自动滚动到选定的列。

这基本上是从文本框和按钮运行的。 用户可以输入文本字符串并单击按钮,然后它将找到该列。 如果不存在任何列,它将告诉您。

Private Sub btnSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearch.Click
    Dim search As String = tbSearch.Text
    Dim Found As Integer = 0

    If dgv.Rows.Count > 0 Then
        For Each col As DataGridViewColumn In dgv.Columns
            Dim colname As String = col.HeaderText

            If search = colname Then
                'MsgBox(search & " = " & colname)
                dgv.Rows.Item(0).Cells(search).Selected = True
                Found = 1
            End If
        Next

        If Found = 1 Then
            'do nothing
        Else
            MsgBox("No columns with the name " & search)
        End If
    Else
        MsgBox("No data to analyze... ")
    End If
End Sub

可以这样做,可以通过标题文本进行选择。 您可以遍历每一行并找到列名称的值。

For Each dgvr As DataGridViewRow In myDataGridView.Rows

Dim testString As String
testString = dgvr("Customer").ToString()

这应该将测试字符串的值设置为列名称下的当前单元格。

希望这可以帮助 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM