本文介绍了添加文本框模板列列GridView控件编程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我怎么一个TextBox列从code添加到一个GridView后面?
How do I add a TextBox column to a GridView from code behind?
推荐答案使用一个TemplateField和一个TextBox添加到的ItemTemplate / EditItemTemplate里。
Use a TemplateField and add a TextBox to the ItemTemplate/EditItemTemplate.
<ItemTemplate> <asp:TextBox ID="TxtFirstName" runat="server" Text='<%# Bind("FirstName") %>'></asp:TextBox> </ItemTemplate>您可以在ASPX绑定在上面还是在GridView.RowDataBound的例子:
You can bind it on the aspx as in the example above or in 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一个简单的例子:
Here is a simple example on how to add a TemplateField dynamically:
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 Classmsdn.microsoft/en-us/library/system.web.ui.webcontrols.templatefield.templatefield.aspx
更多推荐
添加文本框模板列列GridView控件编程
发布评论