2012-09-14 51 views
2

我正在使用Telerik RadGrid,我有一个数据源,其中我的列之一看起来像hh:mm:ss。当我从数据库加载RadGrid的数据源时,我根据DateTime列(包含年份,月份和日期)来排列结果(在SQL级别上),但在网格表示中,我只显示了hh:mm:ss 。我对SQL级别的自定义排序工作正常,在给定的页面中,我确切地得到了那些应该在那里的元素。但是,当我排序实际上是DateTime但表示为hh:mm:ss的列时,也会发生默认的telerik排序,它会对给定页面中的行进行排序。这是不正确的,因为'09 -12-2012 20:20:20'< '09 -13-2012 10:10:10',但是'20:20:20'> '10:10:10'。我怎样才能防止我的RadGrid的默认telerik排序?我希望其他所有工作都以同样的方式进行,我只想告诉Telerik“不要排序我的列,我已经处理了排序事件,谢谢”。我怎样才能做到这一点?阻止RadGrid默认Telerik排序

<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="true" AllowCustomPaging="true" AllowMultiRowSelection="true"> 
     <MasterTableView DataKeyNames="ID" ClientDataKeyNames="ID" InsertItemPageIndexAction="ShowItemOnCurrentPage"> 
      <CommandItemTemplate> 
       <div class="cmdItem"> 
        <asp:LinkButton ID="btnManageColumns" runat="server" CommandName="Manage Columns" data-link="manage-columns"> 
         <img alt="" src="../../Images/Icons/Columns.png" />Manage Columns</asp:LinkButton> 
        <asp:HiddenField ID="hdnSpacer" runat="server" />&#160;&#160;&#160; 
        <asp:LinkButton ID="btnExportPDF" runat="server" CommandName="Export PDF" 
         OnClientClick="return exportGrid('PDF');"><img alt="" src="../../Images/Icons/ExportPDF.png" />Export to PDF</asp:LinkButton>&#160;&#160;&#160; 
        <asp:LinkButton ID="btnSendEmail" runat="server" CommandName="SendEmail" OnClientClick="return exportGrid('PDFEmail');"><img alt="" src="../../Images/Icons/PasswordSetup.png"/>Email</asp:LinkButton> 
       </div> 
      </CommandItemTemplate> 
     </MasterTableView> 
     <ClientSettings> 
      <ClientEvents OnCommand="gridCommand" /> 
      <Selecting AllowRowSelect="True" UseClientSelectColumnOnly="true" /> 
     </ClientSettings> 
    </telerik:RadGrid> 

回答

1
AllowCustomSorting="true" 

应将此属性添加到MasterTableView标记中。

0

您应该能够关闭排序为列,或整个网格如果这就是你想要什么

每列

<Columns> 
     <tr:GridBoundColumn DataField="field" HeaderText="Description" 
      AllowSorting="false" /> 
    </Columns> 

全网

<telerik:RadGrid ID="RadGridData" runat="server" AllowSorting="false" AllowPaging="true" PageSize="50" OnNeedDataSource="RadGridData_NeedDataSource" OnItemDataBound="RadGridData_ItemDataBound"> 

For Custom Sorting

<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="true" AllowCustomPaging="true" AllowMultiRowSelection="true" OnSortCommand="RadGrid1_SortCommand" > 
+0

谢谢你,安德鲁沃尔特斯,但我恐怕你不明白这个问题。我想允许排序作为事件,但我想运行我的排序,而不是Telerik的排序。您的建议完全禁用排序功能,因此您的答案不能回答问题。 –

+0

事实上,问题在于我的(正确的)排序被执行,之后,Telerik将其所有内容按其默认排序混淆。 –

+0

你的radGrid定义中有一个OnSortCommand =“SortCommand_Event”吗? 你应该发布你的radgrid代码。 –