基于bootstrap-table,客户端分页下查询排序

前台js关键代码

$("#tableId").bootstrapTable({
    sortable: true,                     //是否启用排序
    sidePagination: "server",           //分页方式:client客户端分页,server服务端分页(*)
    queryParams : queryParams,          
    columns: columns,
    responseHandler:function(res){
            //在ajax获取到数据,渲染表格之前,修改数据源
            //后台传回PageHelper的PageInfo类,所以要如此修改
            var nres = [];
            nres.push({total:res.total,rows:res.list});
            return nres[0];
   }    
});

var columns=[{
    //复选框列
    checkbox: true,
    visible: true,                  //是否显示复选框
    width:30
}, {
    //序号列
    field: 'number',
    title: '序号',
    width:50,
    align:'center',
    switchable:false,
    formatter:function(value,row,index){
        //return index+1; //序号正序排序从1开始
        var pageSize=$('#showTable').bootstrapTable('getOptions').pageSize;//通过表的#id 可以得到每页多少条
        var pageNumber=$('#showTable').bootstrapTable('getOptions').pageNumber;//通过表的#id 可以得到当前第几页
        return pageSize * (pageNumber - 1) + index + 1;    //返回每条的序号: 每页条数 * (当前页 - 1 )+ 序号
    }
},{
    field: 'name',
    align: 'center',
    title: '名称',
    sortable: true//可排序
},{
    field: 'height',
    align: 'center',
    title: '高度',
    sortable: true//可排序
}];


function queryParams(params){
    //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
    var temp = {
        pageSize: params.limit,                         //页面大小
        pageNum: (params.offset / params.limit) + 1,   //页码
        name:$("#name").val(),
        height:$("#height").val(),
        sortValue: params.sort,      //排序列名
        sortOrder: params.order //排位命令(desc,asc)
    };
    return temp;
}

 

后台就不一一写了,用实体类接收查询条件,然后转为Map,再将sortValue和sortOrder传入Map作为排序条件

mybatis 

<select id="queryRoadLamp" resultMap="RoadLampMap" parameterType="java.util.Map">
   select
         *
   from
      WFJY_LD_INFO
   where isenabled=1
   <if test="id != null and id !=''">AND ID=#{id}</if>
   <if test="name != null and name !=''">and NAME like '%'||#{name}||'%'</if>
   <if test="height != null and height !=''">and height like '%'||#{height}||'%'</if>
   <if test="sortValue != null and sortValue!= '' and sortOrder !=null and sortOrder !=''">
      ORDER BY ${sortValue} ${sortOrder}</if>
</select>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值