Lets say I have the following GridTemplateColumn, I use a LinkButton for Custom Sorting and I handle that sorting in the ItemCommand event of the Grid (CommandName="cmdSortBySender")
Since I'm clicking on the LinkButton the Sort Image is not showing up, Is there anyway I can make the Sort Image appear the way I'm doing this custom sorting?
Thank you.
<telerik:GridTemplateColumn HeaderStyle-Width="160px" ShowSortIcon="true" > <HeaderTemplate> <asp:LinkButton ID="lnkSortBySender" runat="server" CommandName="cmdSortBySender" > </asp:LinkButton> </HeaderTemplate> <ItemTemplate> <asp:Label Text='<%# DataBinder.Eval(Container,"DataItem.SenderName") %>' runat="server" /> </ItemTemplate> </telerik:GridTemplateColumn>Since I'm clicking on the LinkButton the Sort Image is not showing up, Is there anyway I can make the Sort Image appear the way I'm doing this custom sorting?
Thank you.
5 Answers, 1 is accepted
0
Eric
Top achievements
Rank 1
answered on 11 Feb 2013, 11:59 PM
My only problem with this is showing the sort image in custom sorting.
0
Shinu
Top achievements
Rank 2
answered on 12 Feb 2013, 06:27 AM
Hi,
One suggestion is to add image to the HeaderTemplate next to the Linkbutton. Please check the code.
C#:
Thanks,
Shinu
One suggestion is to add image to the HeaderTemplate next to the Linkbutton. Please check the code.
C#:
protected void rad_ItemCreated(object sender, GridItemEventArgs e){ if (e.Item is GridHeaderItem) { GridHeaderItem header = (GridHeaderItem)e.Item; Image asc = new Image(); asc.ID = "asc"; img.ImageUrl = "Images/sortasc.gif"; Image dsc = new Image(); dsc.ID = "dsc"; dsc.ImageUrl = "Images/sortdsc.gif"; header["UniqueName"].Controls.AddAt(2, dsc); header["UniqueName"].Controls.AddAt(2, asc); if (rad.MasterTableView.SortExpressions.Count != 0 && rad.MasterTableView.SortExpressions[0].FieldName == "DataField") { if (rad.MasterTableView.SortExpressions[0].SortOrder != GridSortOrder.None) { header["UniqueName"].Controls.Remove(asc); header["UniqueName"].Controls.Remove(dsc); } if (rad.MasterTableView.SortExpressions[0].SortOrder == GridSortOrder.Ascending) { header["UniqueName"].Controls.Remove(dsc); } if (rad.MasterTableView.SortExpressions[0].SortOrder == GridSortOrder.Descending) { header["UniqueName"].Controls.Remove(asc); } } } }Thanks,
Shinu
0
0
Shinu
Top achievements
Rank 2
answered on 13 Feb 2013, 12:53 PM
Hi,
I suppose you are having 5 GridTemplateColumn. Please try the following code snippet to show an image while sorting.
C#:
Thanks,
Shinu.
I suppose you are having 5 GridTemplateColumn. Please try the following code snippet to show an image while sorting.
C#:
protected void RadGrid1_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e){ if (e.Item is GridHeaderItem) { foreach (GridTemplateColumn col in RadGrid1.Columns) { if (e.Item is GridHeaderItem) { GridHeaderItem header = (GridHeaderItem)e.Item; Image asc = new Image(); asc.ID = "asc"; img.ImageUrl = "Images/sortasc.gif"; Image dsc = new Image(); dsc.ID = "dsc"; dsc.ImageUrl = "Images/sortdsc.gif"; header["col.UniqueName"].Controls.AddAt(2, dsc); header["col.UniqueName"].Controls.AddAt(2, asc); if (rad.MasterTableView.SortExpressions.Count != 0 && rad.MasterTableView.SortExpressions[0].FieldName == col.DataField) { if (rad.MasterTableView.SortExpressions[0].SortOrder != GridSortOrder.None) { header["col.UniqueName"].Controls.Remove(asc); header["col.UniqueName"].Controls.Remove(dsc); } if (rad.MasterTableView.SortExpressions[0].SortOrder == GridSortOrder.Ascending) { header["col.UniqueName"].Controls.Remove(dsc); } if (rad.MasterTableView.SortExpressions[0].SortOrder == GridSortOrder.Descending) { header["col.UniqueName"].Controls.Remove(asc); } } } } }}Thanks,
Shinu.
0
Min-Jie
Top achievements
Rank 1
answered on 30 Jul 2013, 01:02 PM
Do you have any sample code if I need to implement the sorting images on the client side?