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

Sorting not working within radajaxpanel

3 Answers 141 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Chris @ Intrinsic
Top achievements
Rank 1
Chris @ Intrinsic asked on 28 Jul 2011, 10:07 PM
sorting is not working within a radajaxpanel.  My grid is below.  Is there anything I've missed?

<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server"/>    
                       <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" LoadingPanelID="RadAjaxLoadingPanel1">     
                       <telerik:RadGrid ID="grdTrainingInstitutes" 
                           runat="server" 
                           AllowSorting="true" 
                           AllowPaging="true"
                           AutoGenerateColumns="false" 
                           PageSize="20"
                           RegisterWithScriptManager="true"
                           OnNeedDataSource="grdResults_NeedDataSource"
                           TabIndex="301">        
                           <MasterTableView>
                               <Columns>
                                   <telerik:GridBoundColumn DataField="train_inst_id" UniqueName="TrainingInstituteID" HeaderText="ID" 
                                       HeaderStyle-Width="25" ItemStyle-Wrap="false" HeaderStyle-Wrap="false" HeaderStyle-Font-Bold="true" HeaderStyle-VerticalAlign="Top" ></telerik:GridBoundColumn>  
                                   <telerik:GridBoundColumn SortExpression="train_inst_nam" HeaderText="Name" DataField="train_inst_nam" HeaderStyle-Wrap="false" HeaderStyle-Font-Bold="true"  HeaderStyle-VerticalAlign="Top" HeaderStyle-Width="100px" ItemStyle-Wrap="false"></telerik:GridBoundColumn>
                                   <telerik:GridBoundColumn SortExpression="address_line" HeaderText="Address" DataField="address_line" HeaderStyle-Wrap="false" HeaderStyle-Font-Bold="true" HeaderStyle-VerticalAlign="Top" HeaderStyle-Width="150px" ItemStyle-Wrap="false"></telerik:GridBoundColumn>
                                   <telerik:GridBoundColumn SortExpression="geographic_area" HeaderText="Geographic Location" DataField="geographic_area" HeaderStyle-Wrap="false" HeaderStyle-Font-Bold="true" HeaderStyle-VerticalAlign="Top" HeaderStyle-Width="60px" ItemStyle-Wrap="false"></telerik:GridBoundColumn>
                               </Columns>
                           </MasterTableView>
                           <ClientSettings AllowKeyboardNavigation="true" AllowDragToGroup="False" AllowColumnsReorder="False">
                               <Selecting AllowRowSelect="true" UseClientSelectColumnOnly="true" />
                               <KeyboardNavigationSettings AllowSubmitOnEnter="false" AllowActiveRowCycle="true" EnableKeyboardShortcuts="false" FocusKey="Y" />  
                               <ClientEvents OnRowClick="RowSelected" OnRowDblClick="GridDblClick" OnKeyPress="GridKeyPress" OnGridCreated="GridCreated" />                       
                               <Resizing AllowColumnResize="True" />
                           </ClientSettings>
                           <PagerStyle Mode="NextPrevAndNumeric" />
                       </telerik:RadGrid>
                       </telerik:RadAjaxPanel>


thanks.

3 Answers, 1 is accepted

Sort by
0
Chris @ Intrinsic
Top achievements
Rank 1
answered on 28 Jul 2011, 11:18 PM
The problem turned out to be my default sorting order in codebehind:

GridSortExpression sortExpr = new GridSortExpression();
sortExpr.FieldName = "train_inst_nam";
sortExpr.SortOrder = GridSortOrder.Ascending;
grdTrainingInstitutes.MasterTableView.SortExpressions.AddSortExpression(sortExpr);

So, now how would I achieve a default sort?



0
Chris @ Intrinsic
Top achievements
Rank 1
answered on 29 Jul 2011, 05:18 AM

Fixed it.  Just added a hidden field to determine if a sort expression was already added.  But, isn't there a better way to do this?  (have both a default sort order, and allow the user to sort by any field and in any direction.)

Thank you.

0
Princy
Top achievements
Rank 2
answered on 29 Jul 2011, 05:23 AM
Hello Chris,

When you are adding a SortExpression programmatically, the default sort order is applied for the entire grid. In order to show default sort, you can set the SortExpression as shown below.

aspx:
<MasterTableView>
    <SortExpressions>
        <telerik:GridSortExpression FieldName="train_inst_nam" SortOrder="Ascending" />
    </SortExpressions>
         . . .
</MasterTableView>

Thanks,
Princy.
Tags
Grid
Asked by
Chris @ Intrinsic
Top achievements
Rank 1
Answers by
Chris @ Intrinsic
Top achievements
Rank 1
Princy
Top achievements
Rank 2
Share this question
or