ASP.NET将TextBox添加到GridView

时间:2017-05-17 10:56:59

标签: asp.net

我有一个asp.net 4.5网络应用程序,我试图在C#的gridview中添加一个文本框。我怎样才能做到这一点 ? 我找到的所有示例都是关于设置ItemTemplate并在其中添加TextBox。那不是我想要的。

所以我有这个:

<asp:GridView ID="InsertReportData" runat="server" Visible="False">
<Columns>
</Columns>
</asp:GridView>

我已设法添加boundfield和itemtemplate:

BoundField bfield = new BoundField();
bfield.HeaderText = "Name";
bfield.DataField = "Name";
InsertReportData.Columns.Add(bfield);

TemplateField tfield = new TemplateField();
tfield.HeaderText = "Country";
InsertReportData.Columns.Add(tfield);

如何在此字段中添加文本框? 我应该能够:

tfield.ItemTemplate.InstantiateIn();//but when I tried adding a textbox here, it didn't work..can't compile..error.

这可以以某种方式完成吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

请参阅此处了解更多asp.net grid view bound field to text box

通过继承ITemplate创建一个新类,如下所示

public class TextColumn : ITemplate
{
    public void InstantiateIn(System.Web.UI.Control container)
    {
        TextBox txt = new TextBox();
        txt.ID = "MyTextBox";
        container.Controls.Add(txt);
    }
}

如果要添加新文本框

,请使用以下代码
TemplateField txtColumn = new TemplateField();
txtColumn.ItemTemplate = new TextColumn();
GridView1.Columns.Add(txtColumn);