這篇文章主要介紹了JS組件bootstrap table分頁實(shí)現(xiàn)過程中遇到的問題,感興趣的小伙伴們可以參考一下
本文為大家分享了bootstrap-table 分頁的問題,供大家參考,具體內(nèi)容如下
問題1 :服務(wù)器端取不到form值,querystring沒有問題,但是request.form取不到值
解決:這是ajax的問題,原代碼使用原生的ajax。 1可以用讀流文件解決。2 如果想用request.form 方式,設(shè)置 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、設(shè)置傳遞到服務(wù)器的參數(shù)
方法:
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、 后臺(tái)取不到 pageSize 信息
解決:
1在queryParams中設(shè)置
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",
完整
<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", //服務(wù)端請(qǐng)求
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
};
}
}
//傳遞的參數(shù)
function queryParams(params) {
return {
pageSize: params.limit,
pageNumber: params.pageNumber,
UserName: 4
};
}
</script>
問題4、 分頁后,重新搜索的問題
前提: 自定義搜索且有分頁功能,比如搜索產(chǎn)品名的功能.
現(xiàn)象:當(dāng)搜索充氣娃娃的時(shí)候返回100條記錄,翻到第五頁. 這時(shí)候搜索按摩棒,數(shù)據(jù)有200條,結(jié)果應(yīng)該是第一頁的記錄,但是實(shí)際顯示的還是第五頁的結(jié)果. 也就是重新搜索后,pagenumber沒有變.
解決:重新設(shè)置option就行了.
function search(){
$('#tableList').bootstrapTable({pageNumber:1,pageSize:10});
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
2025國考·省考課程試聽報(bào)名