I want to place an image into the Grid Column's Header instead of Caption Text at run time. I have seen how to do this at design time (https://www.youtube.com/playlist?list=PLDAFFE8C757FED32E). I attempted to translate this into dynamically creating this at run time, but I am missing something. How do I do this for the WebDataGrid?
Here is what is created during design time:
<Templates> <ig:ItemTemplate ID="WebDataGrid1Template1" runat="server" TemplateID="Comments"> <Template> <img src="images/Notes.png" alt="Comments" /> </Template> </ig:ItemTemplate> </Templates>
I tried to create it like this but it does not work (no image shows up):
Dim commentsHeader As Infragistics.Web.UI.ItemTemplate = New Infragistics.Web.UI.ItemTemplate() commentsHeader.TemplateID = "Comments" Dim commentsImage As System.Web.UI.WebControls.Image = New System.Web.UI.WebControls.Image() commentsImage.ImageAlign = ImageAlign.Middle commentsImage.AlternateText = "Comments" commentsImage.ImageUrl = "images/Notes.png" commentsHeader.Controls.Add(commentsImage) WebDataGrid1.Templates.Add(commentsHeader)
Thanks for your help.
Hello greghendricks,
Let me know if you have any further questions regarding this.
Best Regards,
Maya Kirova
Developer Support Engineer
Infragistics, Inc.
http://es.infragistics.com/support
That is what I thought and that is what I did. I am not sure what happened because yesterday it did not work (No image showed up). I did again today with the same exact code and now it works. Go figure.
Thanks again!
Hello greghendricks ,
When using a TemplateDataField you have 3 templates you can apply to the field: HeaderTemplate, FooterTemplate and ItemTemplate. All are configured in the same way. An example for the ItemTemplate is explained in our documentation at:
http://help.infragistics.com/NetAdvantage/ASPNET/2011.1/CLR4.0/?page=WebDataGrid_Using_Item_Template.html
Basically you just need to access the Template field from the columns collection and from there set the HeaderTemplate property to the custom template.
Let me know if you need further assistance with this or if you have any questions or concerns.
Maya,
I tried this same code but using a TemplateDataField instead of a BoundField and the column's Header does not seem to use the TemplateID that is available to it. Any ideas why that is?
I'm glad this resolved your issue.Let me know if you need further assistance.