/****DataGrid动态列****/
public class ColumnTemplate1 : ITemplate
{
//数据列
private string colname;
public ColumnTemplate1(string ColName)
{
colname=ColName;
}
public string ColName
{
set{colname=value;}
get{return colname;}
}

public void InstantiateIn(Control container)       
{
LiteralControl l = new LiteralControl();
l.DataBinding += new EventHandler(this.OnDataBinding);
//数据绑定
container.Controls.Add(l);
//为模板列加入LiteralControl
} public void OnDataBinding(object sender, EventArgs e)
{
LiteralControl l = (LiteralControl) sender;//LiteralControl发送绑定请求
DataGridItem container = (DataGridItem) l.NamingContainer;
l.Text = ((DataRowView)container.DataItem)[colname].ToString();//绑定stuname字段
}
} public class ColumnTemplate2 : ITemplate
{
//编辑列
private string idname;
private string colname;
public  ColumnTemplate2 (string ID,string Colname)
{
colname=Colname;
idname=ID;
}
public void InstantiateIn(Control container)       
{
CheckBox chek = new CheckBox();
chek.ID=idname;
chek.TextAlign=TextAlign.Left;
chek.Text=colname;
container.Controls.Add(chek);
} }