我有一个 Gridview,它的数据源设置为 DataTable。之所以这样做,是因为所需的数据未保存在数据库中。以这种方式生成两列。我需要的是第三列有一个文本框,所以用户可以输入他们的评论等。
我的代码是
Dim dt As DataTable = New DataTable
Dim row As DataRow
' Generate Columns
dt.Columns.Add("Col One")
dt.Columns.Add("Col Two")
dt.Columns.Add("Textbox Col")
' Populate rows with required data
row = dt.NewRow
row.Item("Col One") = SomeData
row.Item("Col Two") = SecondaryData
row.Item("Textbox Col") = InsertTextbox("data")
' Add row to DataTable
dt.Rows.Add(row)
gvData.DataSource = dt
gvData.DataBind()
上面的代码完全符合我的要求,除了插入文本框(InsertTextbox)。文本框代码是
Private Function InsertTextbox(ByVal TBText As String) As TextBox
Dim tbox As TextBox = New TextBox
With tbox
.Width = 100
.Height = 25
.Text = TextboxText
.ID = TextboxText
End With
gvData.Controls.Add(txtbox)
Return txtbox
End Function
上面的代码已经更改了几次,以查看我如何允许将文本框插入到 gridview 单元格中。
目前我根据需要取回数据,但 Textbox Col 显示为 System.Web.UI.WebControls.TextBox。添加 .Text 会显示文本(在本例中为数据),但它以标签格式显示,这意味着您无法在其中输入任何内容。
谁能建议我如何以这种方式插入文本框?
谢谢