DataGridView Добавить TextBox и и разрешить редактирование после привязки - PullRequest
1 голос
/ 20 февраля 2012

У меня есть один DataGridView с именем dgv .

dgv в значительной степени простой вид сетки. Нет ограниченных данных. Столбцы не добавлены. Это в основном пусто.

У меня также есть один DataTable с именем dt .

Я добавляю строки и столбцы вручную в dt.

dt.Columns.Add(New DataColumn("TexBox", GetType(String)))
dr = dt.NewRow()
dr("TextBox") = String.Empty
dt.Rows.Add(dr)

Затем я просто устанавливаю dgv источник данных в dt.

dgv.DataSource = dt
dgv.Refresh()

Затем я устанавливаю значение для этой конкретной ячейки.

dgv.Item(0,0).Value = "xxx"

Теперь, когда я запускаю и выполняю все эти команды. Я случайно получил сетку с этим значением. Появилась ячейка "xxx", и в настоящее время она недоступна для редактирования .

Чего я хочу достичь: Позвольте этой ячейке "xxx" быть редактируемой . Предпочтительно, если он может быть вставлен в элемент управления TextBox внутри ячейки.

Я сам гуглил и исследовал это. Пока я не смог найти правильный ресурс.

Любая помощь приветствуется.

1 Ответ

1 голос
/ 20 февраля 2012

Я имитирую ваш код, и отлично работает следующее:

Private Sub LoadData()
        Try

            Dim dt As New DataTable

            'Be carefull here because you right it TexBox instead TextBox  
            dt.Columns.Add(New DataColumn("TextBox", GetType(String)))

            Dim dr = dt.NewRow()
            dr("TextBox") = String.Empty
            dt.Rows.Add(dr)

            dgv.DataSource = dt
            dgv.Refresh()
            dgv.ReadOnly = False
            dgv.Columns(0).ReadOnly = False
            dgv.Item(0, 0).Value = "xxx"

        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

По умолчанию, когда вы редактируете ячейку в сетке данных, в ячейке появляется всплывающее окно, так что не нужно создавать собственное текстовое поле (Если хотите, не забудьте обозначить мой ответ как Право один)

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