ホームページ >php教程 >PHP开发 >ブートストラップ テーブル ページングの問題の概要

ブートストラップ テーブル ページングの問題の概要

高洛峰
高洛峰オリジナル
2017-01-04 11:47:031605ブラウズ

まず、ブートストラップ テーブル ページングの問題を詳細に整理し、皆さんに共有していただいた著者に感謝します。この記事がブートストラップ テーブル ページングのさまざまな問題の解決に役立つことを願っています。

問題 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() {
 $(&#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 ページ目までめくられます。マッサージスティックの場合、結果は最初のページにあるはずですが、実際には 5 ページ目の結果が表示されます。つまり、再検索してもページ番号は変わりません。 : オプションをリセットするだけです

function search(){
 
 $(&#39;#tableList&#39;).bootstrapTable({pageNumber:1,pageSize:10});
 
}

上記がこの記事の全内容です。皆さんの学習に役立つことを願っています

Bootstrap テーブルのページネーションの問題に関するその他の関連記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。