首页 文章

将文本框插入Gridview

提问于
浏览
1

我有一个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显示文本(在本例中为数据),但它以标签格式显示,这意味着您无法在其中输入任何内容 .

任何人都可以建议我如何以这种方式插入文本框?

谢谢

1 回答

  • 0

    在gridview中定义 Templatefield 并在 Templatefield 中放置一个 PlaceHolder 控件 .

    <asp:GridView ID="GridView1" runat="server" >
       <Columns>
          <asp:TemplateField>
             <ItemTemplate>
                  <asp:PlaceHolder ID="PlaceHolder_InputControl" runat="server" />
             </ItemTemplate>
           </asp:TemplateField>
       </Columns>
    

    使用 RowCreated event 动态添加文本框:

    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
    

相关问题