Bootstrap テーブルのページネーションの問題の概要 [答えとコード付き]

angryTom
リリース: 2020-05-15 09:17:38
オリジナル
2927 人が閲覧しました

Bootstrap テーブルのページネーションの問題の概要 [答えとコード付き]

この記事は、ブートストラップ テーブルを使用してページングを実装するときに発生する可能性のあるいくつかの問題をまとめたものです。

#問題 1: サーバーがフォーム値を取得できません。クエリ文字列には問題ありませんが、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 Set

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",

Complete:## を追加します#
<script type="text/javascript">
$(document).ready(function() {
 $(&#39;#tableList&#39;).bootstrapTable({
method: &#39;post&#39;,
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: &#39;CompanyId&#39;,
checkbox: true
}
{
field: &#39;qq&#39;,
title: &#39;qq&#39;,
width: 100,
align: &#39;center&#39;,
valign: &#39;middle&#39;,
sortable: false
}
,
{
field: &#39;companyName&#39;,
title: &#39;姓名&#39;,
width: 100,
align: &#39;center&#39;,
valign: &#39;middle&#39;,
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 ページ目になりますが、このときマッサージスティックを検索すると 200 件のレコードが表示されます。レコードは最初のページにありますが、実際の表示はまだ 5 ページ目です。結果。つまり、再検索後もページ番号は変更されていません。

解決策:

オプションをリセットするだけです。

 function search(){
     $(&#39;#tableList&#39;).bootstrapTable({pageNumber:1,pageSize:10});
}
ログイン後にコピー
さらに詳しく知りたい場合は、ここをクリックしてください。勉強しましょう。ここに 3 つの興味深いトピックがあります:

Bootstrap ビデオ チュートリアル

Bootstrap 入門チュートリアル #

以上がBootstrap テーブルのページネーションの問題の概要 [答えとコード付き]の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート