C# 将文本框插入Gridview
我有一个Gridview,它的数据源设置为DataTable。这是由于所需的数据未保存在数据库中。以这种方式生成两列。我需要的是第三列有一个文本框,这样用户就可以输入他们的评论等 我的代码是C# 将文本框插入Gridview,c#,asp.net,gridview,textbox,webforms,C#,Asp.net,Gridview,Textbox,Webforms,我有一个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.
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()
除了插入textbox 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单元格
目前,我根据需要返回数据,但文本框列显示为System.Web.UI.WebControls.Textbox。Adding.Text在本例中显示文本数据,但它以标签格式显示,这意味着您不能在其中输入任何内容
有人能告诉我如何以这种方式插入文本框吗
感谢您在gridview中定义Templatefield并在Templatefield中放置占位符控件
非常感谢。这终于按要求添加了文本框:但我现在的问题是文本框放在第一列下,而不是第三列。。。。。。我想我可能需要在代码中创建itemTemplate,我会看一下。这是正确的还是我遗漏了什么?再次感谢
<asp:GridView ID="GridView1" runat="server" >
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:PlaceHolder ID="PlaceHolder_InputControl" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
Protected Sub GridView1_RowCreated(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
Dim pc1 As PlaceHolder = DirectCast(e.Row.Cells(0).Controls(1), PlaceHolder)
Dim tb As TextBox = New TextBox
With tb
.Width = 100
.Height = 25
.Text = TextboxText
.ID = TextboxText
End With
pc1.Controls.Add(tb)
End If
End Sub