2017-10-20 62 views
0

我目前有一些數據的數據表。問題如下: 最少有91行,我們將頁面設置爲10行。這給了我們10頁,最後一頁只有1行。更改AJAX數據表的當前頁面

我使用DataTables API中的.ajax.reload()方法刷新表,每當我對其進行任何更改時,我都會將「keepPage」參數設置爲true,這意味着如果我在第5個頁面和我編輯的東西,在服務器端處理後,我的數據仍然會加載第5頁。

但是,問題出現在最後一頁只有1行並刪除該行時。我的表在第10頁刷新,因爲沒有更多內容,它會顯示一個空表。

如何將本例中的頁面更改爲上一頁?

+0

如何判斷,沒有看到任何代碼... – Legends

回答

1

使用page.info()可以在重新加載ajax.reload()之前獲取關於表格的分頁信息。

然後執行以下計算。

var table = $('#example').DataTable(); 

// Get paging information 
var info = table.page.info(); 

// Number of deleted rows 
var numDeleted = 1;  

// Calculate number of pages after deleting rows 
var numPagesAfter = Math.ceil((info.recordsDisplay - numDeleted)/info.length); 

// If number of pages after deleting rows is less than total number of pages 
// and the last page is displayed 
if(numPagesAfter < info.pages && info.page === (info.pages - 1)){ 
    // Go to previous page using zero-based index 
    table.page(numPagesAfter - 1); 
} 

// Reload table 
table.ajax.reload();  
+0

非常感謝,男人!這工作! :) –

相關問題