2012-06-04 4 views
0

У меня есть набор данных, в наборе данных у меня есть две функции: GetDataMenuPagin(@PageIndex, @PageSize) SP_GetCountMenuDataPagin() получить данные из таблицы с именем «Меню» с 1500 записи. Я установил размер страницы 10, поэтому общая страница должна составлять 150 страниц. Но как я могу установить общее количество для pagingtoolbar?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» у меня есть еще один под названием «TOTALPAGES», который выглядит, как этот

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

в вашем методе GetDataMenuPagin должен выглядеть someth ING вдоль линий ...

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 

Как вы можете видеть, мы устанавливаем TOTALPAGES как выход, с этим можно связать число в пределах вашей selectmethod до тех пор, как вы указали, что это выходной параметр ,

Я видел этот пример где-то в C#, но я не могу вспомнить, где. Я проверю это позже на сегодня