代码如下:
namespace WebAppTest
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
/// 
public class ColumnTemplate2 : ITemplate 

public void InstantiateIn(Control container)       

DropDownList dpl = new DropDownList(); 
dpl.ID="ie"; 
container.Controls.Add(dpl);    
}
}  public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.DataGrid DataGrid1;

private void Page_Load(object sender, System.EventArgs e)
{
SqlConnection sqlcon=new SqlConnection ("server=localhost;uid=sa;pwd=pass;database=MRPII_DB");
SqlDataAdapter sqlda=new SqlDataAdapter ("select * from testtable",sqlcon);
DataSet ds=new DataSet ();
sqlda.Fill (ds);
DataGrid1.DataSource =ds;
DataGrid1.DataBind ();
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{    
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void Button1_Click(object sender, System.EventArgs e)
{
TemplateColumn tm2=new TemplateColumn(); 
tm2.ItemTemplate=new ColumnTemplate2(); 
tm2.HeaderText="ID"; 
DataGrid1.Columns.AddAt(0,tm2);//
}
}
调试没有错误,可就是显示没有结果,也就是动态模板列没有加载进去。