2012-09-14 53 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代碼。 –