如何自定义一个模板列,并在后台加载
public class EditTemplateColumn : ITemplate
{
public EditTemplateColumn(string colname)
{
m_strColName = colname;
}
{
public EditTemplateColumn(string colname)
{
m_strColName = colname;
}
public void InstantiateIn(Control container)
{
Label edt = new Label();
edt.DataBinding += new EventHandler(this.OnDataBinding);
{
Label edt = new Label();
edt.DataBinding += new EventHandler(this.OnDataBinding);
container.Controls.Add(edt);
}
}
public void OnDataBinding(object sender, EventArgs e)
{
Label edt = (Label )sender;
{
Label edt = (Label )sender;
DataGridItem container = (DataGridItem)edt.NamingContainer;
edt.Text = DataBinder.Eval(container, "DataItem." + this.m_strColName).ToString();
// edt.Text = ((DataRowView)container.DataItem)[m_strColName].ToString();
}
edt.Text = DataBinder.Eval(container, "DataItem." + this.m_strColName).ToString();
// edt.Text = ((DataRowView)container.DataItem)[m_strColName].ToString();
}
private string m_strColName;
}
加载
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
TemplateColumn obj = new TemplateColumn();
{
base.OnInit(e);
TemplateColumn obj = new TemplateColumn();
obj.ItemTemplate = new EditTemplateColumn("Birthday");
obj.HeaderText = "itemTemplete";
this.DataGrid1.Columns.Add(obj);
}
obj.HeaderText = "itemTemplete";
this.DataGrid1.Columns.Add(obj);
}