【问题标题】:Add Textbox TemplateField Column To GridView Programmatically以编程方式将文本框模板字段列添加到 GridView
【发布时间】:2011-04-18 12:01:18
【问题描述】:

如何从后面的代码中将 TextBox 列添加到 GridView?

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    使用 TemplateField 并将 TextBox 添加到 ItemTemplate/EditItemTemplate。

    <ItemTemplate>
        <asp:TextBox ID="TxtFirstName" runat="server" Text='<%# Bind("FirstName") %>'></asp:TextBox>
    </ItemTemplate>
    

    您可以将其绑定在 aspx 上,如上例或 GridView.RowDataBound:

    Private Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
        Select Case e.Row.RowType
            Case DataControlRowType.DataRow
                Dim dr As DataRow = DirectCast(DirectCast(e.Row.DataItem, DataRowView).Row)
                Dim TxtFirstName As TextBox = DirectCast(e.Row.FindControl("TxtFirstName"), TextBox )
                TxtFirstName.Text = dr("FirstName").ToString
        End Select
    End Sub
    

    编辑:这是一个关于如何动态添加 TemplateField 的简单示例:

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
        If Not IsPostBack Then
            Dim txtColumn As New TemplateField
            txtColumn.ItemTemplate = New TextColumn
            Me.GridView1.Columns.Add(txtColumn)
        End If
    End Sub
    
    Class TextColumn
        Implements ITemplate
    
        Public Sub InstantiateIn(ByVal container As System.Web.UI.Control) Implements System.Web.UI.ITemplate.InstantiateIn
            Dim txt As New TextBox
            txt.ID = "MyTextBox"
            container.Controls.Add(txt)
        End Sub
    End Class
    

    http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.templatefield.templatefield.aspx

    【讨论】:

    • @Raika:对不起,我已经阅读了这部分;)作为第一次开始,请看这里:msdn.microsoft.com/en-us/library/…
    • 我想要这样的东西:TemplateField tmp = new TemplateField(); tmp.Add(文本框); grd.Columns.Add(tmp);
    猜你喜欢
    • 1970-01-01
    • 2016-07-24
    • 1970-01-01
    • 2018-06-19
    • 2013-09-09
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    • 2013-07-15
    相关资源
    最近更新 更多