2012-11-20 61 views
0

我在我的網格中使用extjs 4.1實現了分頁工具欄,我獲得了20組第一頁的記錄。 「但是」當我點擊下一頁時,它不會顯示下一頁。我想這個問題是在這裏如何從分頁工具欄中獲取當前頁面

proxy: { 
      type: 'ajax', 
      scope: this, 
      url: 'Controller/getData', 
      extraParams: { 
       PageNumber: this.currentPage, // this doesn't change on clicking next 
       PageSize: 20 

      }, 
      reader: { 
       type: 'json', 
       root: 'myTable', 
       totalProperty: 'count' 
      } 

,你可以看到,我傳遞給我的控制器的PageNumber是靜態的。如果我改變,要什麼號碼我得到的網頁...所以我怎麼得到當前頁面,這樣我可以把它傳遞給我的控制器.. 下面是我的工具欄

bbar: Ext.create('Ext.PagingToolbar', { 
      scope: this, 
      store: myStore, 
      displayInfo: true, 
      displayMsg: 'Displaying Records {0} - {1} of {2}', 
      emptyMsg: "No Records to display" 
     }) 

請幫助...謝謝

+0

你確定'this'永遠是你的店的範圍? – sra

+0

是sra ...請參閱上面的我的讀者..並且我有關於味精的總記錄顯示..它顯示顯示1-20的100 ...當我點擊下一個時顯示21-40和第2頁,但網格與第1頁中的數據相同20 – EagleFox

回答

1

我不知道如果我可以幫你,你檢查你的後端處理代碼?我的意思是,就我所知,您聲明存儲和分頁工具欄的方式是正確的,所以也許問題存在於服務器端。

用於參考,這是我的服務器端頁面(遠程/數據/用戶/ mahasiswa/read.php)來處理存儲與尋呼支持:

$sql = "SELECT * FROM user"; 
$rs = mysql_query($sql); 
$totalCount = mysql_num_rows($rs); 
$sql = $sql." LIMIT ".$start.",".$limit; 
$rs = mysql_query($sql); 
while($obj = mysql_fetch_object($rs)){ 
    $arr[] = $obj; 
} 
echo '{success:true, totalCount:'.$totalCount.', data:'.json_encode($arr).'}'; 

然後,這是我的商店:

Ext.define('PMK.store.user.Mahasiswa', { 
extend: 'Ext.data.Store', 
model: 'PMK.model.user.Mahasiswa', 
pageSize: 30, 

proxy: { 
    type: 'ajax', 
    url: 'remote/data/user/mahasiswa/read.php', 
    reader: { 
     type: 'json', 
     root: 'data', 
     successProperty: 'success', 
     totalProperty: 'totalCount' 
    } 
}) 

終於這是我的看法:

Ext.define('PMK.view.user.mahasiswa.List' ,{ 
extend: 'Ext.panel.Panel', 
alias : 'widget.mhslist', 

title:'Manage Mahasiswa', 
layout:'fit', 

initComponent: function() { 
    this.items = [ 
     { 
      xtype:'grid', 
      store:'user.Mahasiswa', 
      columns: [ 
       {xtype: 'rownumberer', width: 50, sortable: false}, 
       {header: 'Angkatan', dataIndex: 'ANGKATAN', sortable:true, width:60}, 
       {header: 'NIM', dataIndex: 'NIM', sortable:true, width:100}, 
       {header: 'Nama', dataIndex: 'NAMA', sortable:true, width:225}, 
       {header: 'Program Studi', dataIndex: 'PRODI', sortable:true, width:225}, 
       {header: 'Kelas', dataIndex: 'KELAS', sortable:true, width:50}, 
       {header: 'Dosen PA', dataIndex: 'DOSEN_PA', sortable:true, width:125}, 
       {header: 'Jalur', dataIndex: 'JALUR', sortable:true, width:50}, 
       {header: 'Asal Sekolah', dataIndex: 'ASAL_SEKOLAH', sortable:true, width:175}, 
       {header: 'Tempat Lahir', dataIndex: 'TL', sortable:true, width:100}, 
       {header: 'Tanggal Lahir', dataIndex: 'TGL', sortable:true, width:75}, 
       {header: 'JK', dataIndex: 'JK', sortable:true, width:25}, 
       {header: 'Alamat', dataIndex: 'ALAMAT', sortable:true, width:225}, 
       {header: 'Email', dataIndex: 'EMAIL', sortable:true, width:130}, 
       {header: 'Telp', dataIndex: 'TELP', sortable:true, width:100}, 
       {header: 'Agama', dataIndex: 'AGAMA', sortable:true, width:50}, 
       {header: 'Input Date', dataIndex: 'INPUT_DATE', sortable:true, width:125}, 
       {header: 'Input By', dataIndex: 'INPUT_BY', sortable:true, width:125}, 
       {header: 'Edit Date', dataIndex: 'EDIT_DATE', sortable:true, width:125}, 
       {header: 'Edit By', dataIndex: 'EDIT_BY', sortable:true, width:125} 
      ] 
     } 
    ]; 

    this.bbar = Ext.create('Ext.PagingToolbar', { 
     store: 'user.Mahasiswa', 
     displayInfo: true, 
     displayMsg: 'Displaying mahasiswa {0} - {1} of {2}', 
     emptyMsg: "No mahasiswa to display" 
    }); 

    this.callParent(arguments); 
} 
}); 
+2

最好至少簡要描述解決方案的邏輯。 –

+0

嗨尼克...感謝您的回覆...我使用C#..你能請解釋你的服務器端代碼在C#...因爲我不知道PHP的...現在我看到你的PHP代碼。 ..我確定我有問題...可以請你幫我做你在PHP上做了什麼,但在C# – EagleFox

+1

我很抱歉@EagleFox。我不明白C#,但我會盡力解釋我在做什麼裏面的PHP代碼。 '$ sql =「SELECT * FROM user」;'將執行到數據庫的查詢。 '$ rs = mysql_query($ sql);'執行查詢。 '$ totalCount = mysql_num_rows($ rs);'獲取檢索到的記錄數。 '$ sql = $ sql。「LIMIT」。$ start。「,」。$ limit;'添加頁面限制參數來查詢。 '$ rs = mysql_query($ sql);'再次執行查詢。 'while($ obj = mysql_fetch_object($ rs)){$ arr [] = $ obj;}'獲取記錄然後將其存儲在數組中。最後'echo'{success:true,totalCount:'。$ totalCount。',data:'。json_encode($ arr)。'}';'format to json –