///自定义datagriditem放在databind之前
TemplateColumn genericcolumn = new TemplateColumn();
genericcolumn.HeaderText ="字段1";
genericcolumn.HeaderStyle.Wrap=false;
genericcolumn.ItemTemplate = new GenericItem("col1");
if (!Readonly)
{
genericcolumn.EditItemTemplate = new ValidateEditItem("col1");
}
///
public class GenericItem : ITemplate
{
private column string;
public GenericItem(string column)
{
this.column = column;
}
public void InstantiateIn(Control container)
{
Literal l = new Literal();
l.ID=this.column
l.DataBinding += new EventHandler(this.lcBindData);
container.Controls.Add(l);
}
public void lcBindData(object sender, EventArgs e)
{
Literal l = (Literal) sender;
DataGridItem container = (DataGridItem) l.NamingContainer;
string colText=((DataRowView) container.DataItem)[column].ToString();
if ((column.fieldusertype=="5")||(column.fieldusertype=="6"))
l.Text = colText;
}
}
///
public class ValidateEditItem : ITemplate
{
private string column;
public ValidateEditItem(string column)
{
this.column = column;
}
public void InstantiateIn(Control container)
{
TextBox tb = new TextBox();
tb.DataBinding += new EventHandler(this.BindData);
tb.ID = this.column;
tb.Width=Unit.Parse("100%");
container.Controls.Add(tb);
}