zoukankan      html  css  js  c++  java
  • Bootstrap table分页问题汇总

    首先非常感谢作者针对bootstrap table分页问题进行详细的整理,并分享给了大家,希望通过这篇文章可以帮助大家解决Bootstrap table分页的各种问题,谢谢大家的阅读。

    问题1 :服务器端取不到form值,querystring没有问题, 但是request.form取不到值

    解决:这是ajax的问题,原代码使用原生的ajax。   1可以用读流文件解决。2 如果想用request.form 方式,设置  contentType: "application/x-www-form-urlencoded",

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $('#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: 设置传递到服务器的参数

    方法:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    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 也可以

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    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",

     完整:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    <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", //服务端请求
    queryParams: queryParams,
    //minimunCountColumns: 2,
    responseHandler: responseHandler,
    columns: [
    {
    field: 'CompanyId',
     
    checkbox: true
     
    },
    {
    field: 'qq',
     
    title: 'qq',
     
    100,
     
    align: 'center',
     
    valign: 'middle',
     
    sortable: false
     
    }
    ,
    {
    field: 'companyName',
     
    title: '姓名',
     
    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
    };
    }
     
    }
     
    //传递的参数
     
    function queryParams(params) {
     
    return {
    pageSize: params.limit,
     
    pageNumber: params.pageNumber,
     
    UserName: 4
     
    };
     
    }
    </script>

    问题4:分页后,重新搜索的问题

    前提:自定义搜索且有分页功能,比如搜索产品名的功能.

    现象:当搜索充气娃娃的时候返回100条记录,翻到第五页.  这时候搜索按摩棒,数据有200条,结果应该是第一页的记录,但是实际显示的还是第五页的结果.  也就是重新搜索后,pagenumber没有变.

     解决:重新设置option就行了.

    1
    2
    3
    4
    5
    function search(){
     
     $('#tableList').bootstrapTable({pageNumber:1,pageSize:10});
     
    }
  • 相关阅读:
    SQL对Xml字段的操作
    T-SQL查询进阶-10分钟理解游标
    如何完成支付宝的支付功能?
    支付宝api指南
    DDD学习笔录——提炼问题域之知识提炼与协作
    DDD学习笔录——领域驱动设计的常见误区(即错误的理解)
    DDD学习笔录——简介领域驱动设计的实践与原则
    DDD学习笔录——简介DDD的战术模式、问题空间和解空间
    DDD学习笔录——简介DDD的战略模式如何塑造应用程序的架构
    初识DDD
  • 原文地址:https://www.cnblogs.com/telwanggs/p/8862161.html
Copyright © 2011-2022 走看看