我有一个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.
这可以以某种方式完成吗?
谢谢!
答案 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);