您好,登錄后才能下訂單哦!
這篇文章運用簡單易懂的例子給大家介紹Bootstrap table分頁問題的解決辦法,代碼非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
問題1 :服務器端取不到form值,querystring沒有問題,但是request.form取不到值
解決:這是ajax的問題,原代碼使用原生的ajax。 1可以用讀流文件解決。2 如果想用request.form 方式,設置 contentType: "application/x-www-form-urlencoded",
$('#tableList').bootstrapTable({ method: 'post', url: "", height: $(window).height() - 200, striped: true, dataType: "json", pagination: true, "queryParamsType": "limit", singleSelect: false, contentType: "application/x-www-form-urlencoded",
問題2: 設置傳遞到服務器的參數
方法:
function queryParams(params) { return { pageSize: params.limit, pageNumber: params.pageNumber, UserName: 4 }; } $('#tableList').bootstrapTable({ method: 'post', url: "", height: $(window).height() - 200, striped: true, dataType: "json", pagination: true, queryParams: queryParams,
問題3: 后臺取不到 pageSize 信息
解決:
1、在queryParams中設置
2、在bootstrap-table.minjs文件 修改源文件為"limit"===this.options.queryParamsType&&(e={limit:e.pageSize,pageNumber:e.pageNumber,
修改 bootstrap-table.js 也可以
if (this.options.queryParamsType === 'limit') { params = { search: params.searchText, sort: params.sortName, order: params.sortOrder }; if (this.options.pagination) { params.limit = this.options.pageSize; params.pageNumber=this.options.pageNumber, params.offset = this.options.pageSize * (this.options.pageNumber - 1); } }
3、配置加入 "queryParamsType": "limit",
完整:
<script type="text/javascript"> $(document).ready(function() { $('#tableList').bootstrapTable({ method: 'post', url: "getcompapylist", height: $(window).height() - 200, striped: true, dataType: "json", pagination: true, "queryParamsType": "limit", singleSelect: false, contentType: "application/x-www-form-urlencoded", pageSize: 10, pageNumber:1, search: false, //不顯示 搜索框 showColumns: false, //不顯示下拉框(選擇顯示的列) sidePagination: "server", //服務端請求 queryParams: queryParams, //minimunCountColumns: 2, responseHandler: responseHandler, columns: [ { field: 'CompanyId', checkbox: true } { field: 'qq', title: 'qq', width: 100, align: 'center', valign: 'middle', sortable: false } , { field: 'companyName', title: '姓名', width: 100, align: 'center', valign: 'middle', sortable: false } ] }); }); function responseHandler(res) { if (res.IsOk) { var result = b64.decode(res.ResultValue); var resultStr = $.parseJSON(result); return { "rows": resultStr.Items, "total": resultStr.TotalItems }; } else { return { "rows": [], "total": 0 }; } } //傳遞的參數 function queryParams(params) { return { pageSize: params.limit, pageNumber: params.pageNumber, UserName: 4 }; } </script>
問題4:分頁后,重新搜索的問題
前提:自定義搜索且有分頁功能,比如搜索產品名的功能.
現象:當搜索充氣娃娃的時候返回100條記錄,翻到第五頁. 這時候搜索按摩棒,數據有200條,結果應該是第一頁的記錄,但是實際顯示的還是第五頁的結果. 也就是重新搜索后,pagenumber沒有變.
解決:重新設置option就行了.
function search(){ $('#tableList').bootstrapTable({pageNumber:1,pageSize:10}); }
關于Bootstrap table分頁問題的解決辦法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。