2012-06-04 4 views
0

데이터 세트가 있는데 데이터 세트에 두 가지 기능이 있습니다. SP_GetCountMenuDataPagin() "Menu"라는 테이블에서 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"나는 someth을 보일 것입니다 귀하의 GetDataMenuPagin 방법 내에서이

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

처럼 보이는 또 하나의 소위 "TotalPages"가 내

당신은, 우리가 함께 출력으로 TotalPages를 설정하고 볼 수 있듯이

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#의 어딘가에서 보았지만, 나는 기억이 안납니다. 나중에 오늘 확인해 보겠습니다.

관련 문제