This is a migrated thread and some comments may be shown as answers.

[Solved] problem sorting template column

2 Answers 154 Views
Grid
This is a migrated thread and some comments may be shown as answers.
sf
Top achievements
Rank 1
sf asked on 17 Apr 2009, 02:19 AM
I have 4 columns, one is databound column which sorts properly. Other 3 are template columns which contain value from same datasource. Tried everything I can but still couldn't enable sorting on any of these template columns.... please help, thanks in advance!


                    <telerik:GridBoundColumn DataField="Status" HeaderText="Status"
                        SortExpression="Status" UniqueName="Status">
                        <HeaderStyle Width="50px"></HeaderStyle>
                    </telerik:GridBoundColumn>
<telerik:GridTemplateColumn SortExpression="ABC.Name" UniqueName="Name">
                        <ItemStyle Width="150px" Wrap="True"/>
                        <HeaderTemplate>
                            <asp:Label runat="server" ID="NameHeaderLabel" Text="Name"></asp:Label>
                        </HeaderTemplate>
                        <ItemTemplate>
                            <a href='<%# "ABC.aspx?Id="+Eval("ABC.Id") %>'><%# Eval("ABC.Name")%></a>
                        </ItemTemplate>                    
                  </telerik:GridTemplateColumn>
<telerik:GridTemplateColumn SortExpression="Cost" UniqueName="Cost">
                        <HeaderTemplate>
                            <asp:Label runat="server" ID="CostHeaderLabel" Text="Cost"></asp:Label>
                        </HeaderTemplate>
                        <ItemTemplate>
                            <%# Eval("Cost", "{0:N}")%>
                        </ItemTemplate>                    
                    </telerik:GridTemplateColumn>
<telerik:GridTemplateColumn SortExpression="Location.Name" UniqueName="Location">
                        <ItemStyle Width="150px" Wrap="True"/>
                        <HeaderTemplate>
                            <asp:Label runat="server" ID="LocationHeaderLabel" Text="Location"></asp:Label>
                        </HeaderTemplate>
                        <ItemTemplate>
                            <a href='<%# "Locations.aspx?Id="+Eval("Location.Id") %>'><%# Eval("Location.Name") %></a>
                        </ItemTemplate>                    
                  </telerik:GridTemplateColumn>

2 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 17 Apr 2009, 04:08 AM
Hi,

To enable sorting for GridTemplateColumn, you need to set appropriate SortExpression values for those columns.  SortExpression value should match the data field you want to sort on (typically the field a control in the template is bound to). Can you check whether the
field that you have set as SortExpression and the Data field are same.
Sorting for GridHyperLinkColumn/GridTemplateColumn

Shinu
0
sf
Top achievements
Rank 1
answered on 17 Apr 2009, 06:09 AM
thanks Shinu, the example didn't really solve my problem. However when I removed the HeaderTemplate component it worked.....
e.g.
<telerik:GridTemplateColumn SortExpression="ABC.Name" UniqueName="Name" HeaderText="Name">
                        <ItemStyle Width="150px" Wrap="True"/>
                        <ItemTemplate>
                            <a href='<%# "ABC.aspx?Id="+Eval("ABC.Id") %>'><%# Eval("ABC.Name")%></a>
                        </ItemTemplate>                    
                  </telerik:GridTemplateColumn>
Tags
Grid
Asked by
sf
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
sf
Top achievements
Rank 1
Share this question
or