gvTest.DataSource = DataTable();//绑定的数据类型为DataTable类型
gvTest.DataBind();//这一步的时候会调用InstantiateIn(System.Web.UI.Control container)
-----------------------------------------------------------------------------------------
---------------------------------------后台动态绑定Gridview------------------------------
/// <summary>
/// 实现了ITemplate的InstantiateIn方法。在数据绑定的时候,gridview会自动条用该方法。
/// </summary>
/// <param name="container"></param>
public void InstantiateIn(System.Web.UI.Control container)
{ switch (this.RowType)
{
case DataControlRowType.Header:
Literal headerTitle = new Literal();
headerTitle.Text = this.ColumnName;
string htmlTitle = "<div class=\"regWrap\"><div class=\"map\"><ol><li class=\"current\"><b>{0}</b>{1}</li></ol></div></div>";
string htmlTitleLast = "<div class=\"regWrap\"><div class=\"map\"><ol><li class=\"last\"><b>{0}</b>{1}</li></ol></div></div>";
LiteralControl div = null;
if (this.ColumnIndex == this.ColumnCont)//ColumnIndex为当前列下标, ColumnCont为列的
{
div = new LiteralControl(string.Format(htmlTitleLast, this.ColumnIndex, this.ColumnName));
}
else
{
div = new LiteralControl(string.Format(htmlTitle, this.ColumnIndex, this.ColumnName));
}
container.Controls.Add(div);
break; case DataControlRowType.DataRow:
HyperLink lb = new HyperLink();
lb.ID = this.CtlID;
lb.DataBinding += new EventHandler(LinkButton_DataBinding);
container.Controls.Add(lb);
break; default:
break;
}}
把public void InstantiateIn(System.Web.UI.Control container)换成gridview的RowCreate事件看看