jquery datatable如何動態分頁

2022-02-21 09:08:08 字數 905 閱讀 5306

展開全部

一、分頁

分頁的基本思想是根據datatable的頁碼及每頁顯示的行數,將資料從資料庫分段提出,然後再填充到**中,以達到分頁的效果。

這裡需要用到datatable外掛程式的幾個屬性:

"idisplaystart":這個屬性,根據字面意思理解,就是每段資料開始的行數,比如第一頁的資料就是從0開始計,那麼它就是0,每頁顯示的行數是10,那麼第二頁的第一行的idisplaystart就是10。

"idisplaylength":這個屬性就是每頁顯示的行數。

然後是資料庫操作,只需要從資料庫查詢其中一段資料,然後輸出出來,轉成json格式,讓datatable外掛程式獲取。在網上可以找到很多分頁的方法,選擇了其中一種,使用row_number()的分頁的儲存過程。具體**如下(根據sql建立儲存過程模板):

儲存過程的兩個引數,pageindex表示頁索引即當前頁碼,不懂datatable有沒有這項屬性,所以是用計算的方法得來的,就是idisplaystart/idisplaylength+1。pagesize可以直接從datatable獲得。

服務端的**,我建立了乙個datasource.ashx檔案,**如下:

datatabletoobjects類的**如下:

需要注意的一點:itotalrecords與itotaldisplayrecords是兩個不同的值,是改變分頁欄顯示用的引數,這裡因為沒有考慮資料過濾功能,所以都設定成資料的總的行數。

然後是客戶端的**,與之前的差不多:

因為測試,所以只提取了表中的三個字段,並且關閉了資料過濾及排序功能,其中,"blengthchange"可以設定成true,因為服務端會獲取datatable的idisplaylenth引數,即使每頁顯示數變化,資料也可以正常獲取。

這樣就實現了jquery.datatable外掛程式的服務端分頁獲取資料。

使用jQuery Datatable 遇到的問題

最近使用 這款外掛程式作為列表外掛程式,使用時出現乙個問題 如下 翻譯之後發現是 datatable表0 要求未知引數的 5 行0。關於這個錯誤的更多資訊 datatables warning table id datatables table 0 requested unknown paramet...

jquery dataTable漢化(外掛程式形式)

1.jquery datatable.js 官網 中文 2.漢化提示資訊 放到xx.js中,引入即可 注 只測試過datatables 1.10.5版本 漢化by lxf qq1140215489 function opaginate semptytable 沒有相關記錄 sinfo 第 start...

Jquery datatable中文排序問題

先擴充套件datatable的的排序功能,新增乙個自定義排序函式 為jq datatable 自定義中文排序 jquery.fn.datatableext.osort chinese sort asc function s1,s2 jquery.fn.datatableext.osort chine...