Similar Topics...
|
Dynamically Build Template Column as a Reusable Server Control How to build a .NET GridView TemplateField (TemplateColumn) as a reusable server control column: public class CustomDisplayField : System.Web.UI.WebControls.TemplateField { public CustomDisplayField () : base() { this.ItemStyle.Wrap = false; this.HeaderText = "MyHeader"; this.SortExpression = "MySort"; this.ItemTemplate = new AddCustomToGridView(); } public class AddCustomToGridView : ITemplate { public AddCustomToGridView () { } void ITemplate.InstantiateIn(System.Web.UI.Control container) { Image img = new Image(); img.DataBinding += new EventHandler(img_DataBinding); container.Controls.Add(img); container.Controls.Add(new LiteralControl(" ")); HyperLink ht = new HyperLink(); ht.DataBinding += new EventHandler(ht_DataBinding); container.Controls.Add(ht); } void img_DataBinding(object sender, EventArgs e) { Image img = (Image)sender; GridViewRow container = (GridViewRow)img.NamingContainer; object myData = DataBinder.Eval(container.DataItem, "myData"); if (myData != DBNull.Value) { img.ImageUrl = myData .ToString(); } } void ht_DataBinding(object sender, EventArgs e) { HyperLink lnk = (HyperLink)sender; GridViewRow container = (GridViewRow)lnk.NamingContainer; object myData = DataBinder.Eval(container.DataItem, "myData"); if (myData != DBNull.Value) { lnk.Text = myData.ToString } } } }
Created By: amos 3/7/2014 6:13:34 PM Updated: 3/7/2014 6:13:57 PM
|
|
|
|
|
|