Выберите ячейку в dataGridView по тексту заголовка - PullRequest
1 голос
/ 29 февраля 2012

Я перебираю строки в сетке данных и каждый раз выбираю ячейку из 3-го столбца:

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

Можно ли это сделать?

Ответы [ 2 ]

1 голос
/ 28 июня 2012

Этот код хорошо работает для выбранных ячеек с определенным именем столбца.Может быть, вы можете использовать его для того, что вы ищете.Самое приятное, что он автоматически прокручивается к выбранному столбцу.

В основном он запускается из текстового поля и кнопки.Пользователь может ввести строку текста и нажать кнопку, после чего он перейдет к поиску столбца.Если столбец не существует, он сообщит вам.

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
0 голосов
/ 29 февраля 2012

Это можно сделать, можно выбрать по тексту заголовка.Вы можете пройтись по каждой строке и найти значение для имени столбца.

For Each dgvr As DataGridViewRow In myDataGridView.Rows

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

Это должно установить значение тестовой строки для текущей ячейки под именем столбца.

Надеюсь, это поможет :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...