TemplateField tf = new TemplateField();
tf.HeaderTemplate = ??? //这里该怎么写??我要在里边放个控件
tf.ItemTemplate = ???//想在这里放控件 怎么写?
GridView1.Columns.Add(tf);
GridView1.DataBind();
在网上找了些代码似乎很复杂,还要创建一个类,如果要创建类的话我那控件的事件就没法做了。
试过用委托也不行,可能是我写的不行吧。有这样的例子吗,寻求个例子看看,谢谢
你在编辑列选项里---- 添加--TemplateField 就 可以了吧。
编辑它在 就在编辑模板里 就可以了,
不知道是不是我理解错了
<HeaderTemplate> 头
修改信息
</HeaderTemplate>
<ItemTemplate>
<a href="update.aspx?id=<%#Eval("ID") %>">修改</a> 添加控件
</ItemTemplate>
</asp:TemplateField>
TableCell tc = new TableCell();
e.Row.Cells.Add(tc);
TextBox tb = new TextBox();
tb.ID = "idname";
tc.Controls.Add(tb);
{ private DataControlRowType templateType;
private string columnName;
public GridViewTemplate(DataControlRowType type, string colname)
{
templateType = type;
columnName = colname;
}
public void InstantiateIn(System.Web.UI.Control container)
{
switch (templateType)
{
case DataControlRowType.Header:
Literal lc = new Literal();
lc.Text = columnName; container.Controls.Add(lc);
break;
case DataControlRowType.DataRow:
DropDownList drr = new DropDownList();
drr.ID = "dropdown";
drr.AppendDataBoundItems = true;
drr.Items.Add(new ListItem("-----请选择------", ""));
container.Controls.Add(drr);
break;
default:
break;
}
}
}
参考
http://topic.csdn.net/u/20090715/10/cbd72e15-5d01-49c7-9df5-d36b273e2896.htmlGridView动态添加模板列http://blog.csdn.net/Sandy945/archive/2009/07/31/4397142.aspx
http://blog.csdn.net/Sandy945/archive/2009/07/31/4397215.aspx