DataGridView添加TextBox&绑定后允许编辑

时间:2012-02-20 04:07:12

标签: vb.net winforms datagridview datatable

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

现在我运行并执行所有这些命令。我碰巧检测到了具有该值的gridview。 “xxx”单元格出现,目前无法编辑

我想要达到的目标是: 允许此“xxx”单元格可编辑。优选地,如果它可以插入细胞内的TextBox对照中。

我自己用Google搜索并研究过这个问题。然而,我找不到正确的资源。

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我模拟你的代码,以下工作完美:

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

默认情况下,当您在datagridview中编辑单元格时,将在单元格上弹出一个文本框, 所以不需要制作自己的文本框 (如果您愿意,请不要忘记将我的答案称为正确一个)