#创建一个ItemTemplate:
由于ItemTemplate是继承于ITemplate接口的,所有必须实现ITemplate接口中的InstantiateIn方法。
private class DeletItem :ITemplate
{
#region ITemplate 成员
void ITemplate.InstantiateIn(Control container)
{
ImageButton ib = new ImageButton();
//指定绑定数据字段
ib.DataBinding += new EventHandler(ib_DataBinding);
ib.CommandName = "Del";
ib.ImageUrl = "~/Images/icon-delete.gif";
ib.ToolTip = "删除";
container.Controls.Add(ib);
}
void ib_DataBinding(object sender, EventArgs e)
{
ImageButton ib = (ImageButton)sender;
GridViewRow di = (GridViewRow)ib.NamingContainer;
ib.CommandArgument = ((DataRowView)di.DataItem)["id"].ToString();
}
#endregion
}
#在代码中运用DeleteItem列
TemplateField tpd = new TemplateField();
tpd.HeaderText = "删除";
tpd.ItemTemplate = new DeletItem();
GridView1.Columns.Add(tpd);