まず、ブートストラップ テーブル ページングの問題を詳細に整理し、皆さんに共有していただいた著者に感謝します。この記事がブートストラップ テーブル ページングのさまざまな問題の解決に役立つことを願っています。
問題 1: サーバー側でフォームの値を取得できません。querystring には問題ありませんが、request.form で値を取得できません。
解決策: これは、元のコードがネイティブ 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); } }
設定を変更して "queryParamsType": "limit",
Complete:
<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 件のレコードが返され、5 ページ目までめくられます。マッサージスティックの場合、結果は最初のページにあるはずですが、実際には 5 ページ目の結果が表示されます。つまり、再検索してもページ番号は変わりません。 : オプションをリセットするだけです
function search(){ $('#tableList').bootstrapTable({pageNumber:1,pageSize:10}); }
上記がこの記事の全内容です。皆さんの学習に役立つことを願っています
Bootstrap テーブルのページネーションの問題に関するその他の関連記事については、PHP 中国語 Web サイトに注目してください。