2012-06-04 34 views
0

我有一個數據集,在數據集中,我有兩個函數: GetDataMenuPagin(@PageIndex, @PageSize) SP_GetCountMenuDataPagin() 我從名爲「Menu」的表中獲取數據,記錄爲1500條記錄。我設置頁面大小爲10,因此總頁面必須爲150頁。但我怎麼可以設置總分頁工具欄?Ext.net如何爲pagingtoolbar設置總頁數?

這是我的目標數據源&店,我使用的數據集:

<asp:ObjectDataSource ID="MenuDataSource" runat="server" OldValuesParameterFormatString="original_{0}" 
     SelectMethod="GetDataMenuPagin" EnablePaging="false" 
     TypeName="dsHorizonTableAdapters.MenuTableAdapter" OnUpdating="MenuDataSourceUpdating" 
     DataObjectTypeName="System.Guid" DeleteMethod="Delete" InsertMethod="Insert" 
     OnSelecting="MenuDataSource_Selecting"> 
     <InsertParameters> 
      <asp:Parameter DbType="Guid" Name="Id" /> 
      <asp:Parameter DbType="Guid" Name="ParentMenuId" /> 
      <asp:Parameter DbType="Guid" Name="PageId" /> 
      <asp:Parameter Name="Criteria" Type="String" /> 
      <asp:Parameter Name="Display" Type="String" /> 
      <asp:Parameter Name="Description" Type="String" /> 
      <asp:Parameter Name="MenuURL" Type="String" /> 
      <asp:Parameter Name="Sort" Type="String" /> 
      <asp:Parameter Name="IsActive" Type="Boolean" /> 
      <asp:Parameter Name="UpdateDate" Type="DateTime" /> 
      <asp:Parameter Name="UpdateUser" Type="String" /> 
      <asp:Parameter DbType="Guid" Name="MethodId" /> 
      <asp:Parameter Name="Image" Type="String" /> 
      <asp:Parameter DbType="Guid" Name="ProgramId" /> 
      <asp:Parameter DbType="Guid" Name="StatusId" /> 
     </InsertParameters> 
     <SelectParameters> 
      <asp:Parameter DefaultValue="0" Name="PageIndex" Type="Int32" /> 
      <asp:Parameter DefaultValue="10" Name="PageSize" Type="Int32" /> 
     </SelectParameters> 
    </asp:ObjectDataSource> 
    <ext:Store ID="MenuStore" runat="server" DataSourceID="MenuDataSource" AutoDataBind="false" 
     AutoLoad="false" onrefreshdata="MenuStore_RefreshData"> 
     <Reader> 
      <ext:JsonReader IDProperty="Id" AutoDataBind="True"> 
       <Fields> 
        <ext:RecordField Name="Id" /> 
        <ext:RecordField Name="ParentMenuId" /> 
        <ext:RecordField Name="PageId" /> 
        <ext:RecordField Name="Criteria" /> 
        <ext:RecordField Name="Display" /> 
        <ext:RecordField Name="Description" /> 
        <ext:RecordField Name="MenuURL" /> 
        <ext:RecordField Name="IsActive" DefaultValue="true" /> 
        <ext:RecordField Name="Sort" DefaultValue="0" /> 
        <ext:RecordField Name="UpdateDate" Type="Date" /> 
        <ext:RecordField Name="UpdateUser" /> 
        <ext:RecordField Name="ParentMenuDisplay" /> 
        <ext:RecordField Name="PageDisplay" /> 
       </Fields> 
      </ext:JsonReader> 
     </Reader> 
     <Listeners> 
      <LoadException Handler="Ext.Msg.Alert('Column - Load failed', e.message || e)" /> 
      <CommitFailed Handler="Ext.Msg.Alert('Column - Commit failed', 'Reason: ' + msg)" /> 
      <SaveException Handler="Ext.Msg.Alert('Column - Save failed', e.message || e)" /> 
      <CommitDone Handler="Ext.Msg.Alert('Column - Commit', 'The data successfully saved');" /> 
     </Listeners> 
    </ext:Store> 

回答

0

因此,我有如下,我使用VB,但我敢肯定,你可以將它轉換爲C#

內「SelectParameters」我還有一個叫「總頁數」,看起來像這樣

<ext:Parameter Name="TotalPages" Type="Int32" Direction="Output" /> 

在您GetDataMenuPagin方法應該是someth沿線的荷蘭國際集團......

Public Shared Function GetDataMenduPagin(ByVal PageIndex As Int32, ByVal PageSize as Int32, ByRef TotalPagesas Int32) As List(Of xxxxx) 
Dim res = (from i in db.my_table _ 
      Select i).Skip(PageIndex).Take(PageSize) 

TotalPages = res.Count() 

Return res.ToList() 
End Function 

正如你所看到的,我們設置總頁數爲輸出,用我們可以綁定你selectmethod內 數量,只要你指定它是一個輸出參數。

我看到這個例子在C#中的某處,但我不記得在哪裏。我今天晚些時候會仔細檢查這個