Bootstrap table分页问题汇总
首先非常感谢作者针对bootstraptable分页问题进行详细的整理,并分享给了大家,希望通过这篇文章可以帮助大家解决Bootstraptable分页的各种问题,谢谢大家的阅读。
问题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:设置传递到服务器的参数
方法:
functionqueryParams(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",
完整:
<scripttype="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 } ] }); }); functionresponseHandler(res){ if(res.IsOk){ varresult=b64.decode(res.ResultValue); varresultStr=$.parseJSON(result); return{ "rows":resultStr.Items, "total":resultStr.TotalItems }; }else{ return{ "rows":[], "total":0 }; } } //传递的参数 functionqueryParams(params){ return{ pageSize:params.limit, pageNumber:params.pageNumber, UserName:4 }; } </script>
问题4:分页后,重新搜索的问题
前提:自定义搜索且有分页功能,比如搜索产品名的功能.
现象:当搜索充气娃娃的时候返回100条记录,翻到第五页. 这时候搜索按摩棒,数据有200条,结果应该是第一页的记录,但是实际显示的还是第五页的结果. 也就是重新搜索后,pagenumber没有变.
解决:重新设置option就行了.
functionsearch(){ $('#tableList').bootstrapTable({pageNumber:1,pageSize:10}); }
如果大家还想深入学习,可以点击这里进行学习,再为大家附3个精彩的专题:
Bootstrap学习教程
Bootstrap实战教程
BootstrapTable使用教程
Bootstrap插件使用教程
以上就是本文的全部内容,希望对大家的学习有所帮助。