zoukankan      html  css  js  c++  java
  • BootstrapTable的列排序怎么搞

    1、BootstrapTable的列排序怎么搞。

    先搞一个table,使用ajax将数据查询出来,然后可以在所有列都加上排序。满足自己的需求。

    data-sortable="true",此属性加到列上面,可以显示出上下排序的箭头。

     1 <div style="float: left;  100%;">
     2 <div class="clearfix"></div>
     3 <table id="dataTable" style="font-size: 12px;" data-toolbar="#timeSearch"
     4     data-toggle="table" 
     5     data-locale="zh-CN" 
     6     data-ajax="ajaxRequest"
     7     data-side-pagination="server" 
     8     data-striped="true"
     9     data-click-to-select="true" 
    10     data-sort-name="id"
    11     data-sort-order="desc" 
    12     data-row-style="rowStyle"
    13     data-pagination="true" data-pagination-first-text="首页"
    14     data-pagination-pre-text="上一页" data-pagination-next-text="下一页"
    15     data-pagination-last-text="末页" data-show-jumpto="true">
    16     <thead style="text-align: center;"> 
    17         <tr>
    18             <th data-radio="true"></th>
    19             <th data-field="id" 
    20                 data-width="40" data-formatter="indexFormatter" data-halign="center" data-align="center">序号</th>
    21             <th data-field="code" data-sortable="true" data-formatter="codeFormatter" data-halign="center" data-width="280"
    22                 data-align="center">编码</th>
    23             <th data-field="field1" data-halign="center" data-sortable="true" data-width="280"
    24                 data-align="center">字段1</th>
    25             <th data-field="field2" data-halign="center" data-sortable="true" data-width="280"
    26                 data-align="center">字段2</th>
    27             <th data-field="field3" data-halign="center" data-sortable="true" data-width="280"
    28                 data-align="center">字段3</th>
    29             <th data-field="field4" data-halign="center" data-sortable="true" data-width="280"
    30                 data-align="center">字段4</th>
    31         </tr>
    32     </thead>
    33 </table>
    34 </div>

    2、ajax的处理如下所示:

    "&sort=" + params.data.sort,排序的字段"&type=" + params.data.order,排序的方式,排序升序asc或者降序desc。

     1 function ajaxRequest(params) {
     2     var pageSize = params.data.limit;
     3     var pageNum = params.data.offset/pageSize + 1;
     4     index = params.data.offset + 1;
     5     
     6     var dataStr = "pageSize = " + pageSize
     7         + "&pageNum=" + pageNum
     8         + "&sort=" + params.data.sort    //排序的字段。
     9         + "&type=" + params.data.order;  // 排序的方式,排序升序或者降序。
    10     var url = 'xxxAction!findDataxxx.action';        
    11     $.ajax({
    12         type : 'post',
    13         url : url,
    14         data : dataStr,
    15         dataType : 'json',
    16         global : false,
    17         async : true,
    18         success : function(data) {
    19             var count = 0;
    20             var applies = [];
    21             if (data && data.result) {
    22                 applies = data.result.items ? data.result.items : [];
    23                 count = data.result.count;
    24             }
    25             params.success({
    26                 total : count,
    27                 rows : applies
    28             });
    29             params.complete();
    30         }
    31     });
    32 }

    3、由于是公司自己封装的框架,自己的需求可以结合自己的实际情况。由于使用的是struts,自己根据自己需求搞吧。   

     1 private String sort;
     2 private String type;
     3 自己定义自己的setter/getter。由于使用的是struts,自己根据自己需求搞吧。    
     4 
     5 public String findDataxxx() {
     6     Map<String, Object> params = new HashMap<>();
     7     Pagination<xxx> page = new Pagination<xxx>();
     8     page.setCounted(true);
     9     page.setSize(pageSize);
    10     page.setIndex(pageNum);
    11     Ordering order = new Ordering();
    12     //可以判断自己排序的列,然后判断一下,进行排序操作。由于是公司自己封装的框架,自己的需求可以结合自己的实际情况
    13     if("id".equals(sort)) {
    14         order.setName("name");
    15         order.setType("asc");
    16     }else if("name".equals(sort)) {
    17         order.setName("name");
    18         order.setType(type); 
    19     }else if("field1".equals(sort)){
    20         order.setName("field1");
    21         order.setType(type);
    22     }else if("field2".equals(sort)){
    23         order.setName("field2");
    24         order.setType(type);
    25     }else if("field3".equals(sort)){
    26         order.setName("field3");
    27         order.setType(type);
    28     }else if("field4".equals(sort)){
    29         order.setName("field4");
    30         order.setType(type);
    31     }
    32     
    33     if (Detect.notEmpty(sourceCode)) {
    34         params.put("sourceCode", sourceCode);
    35     }
    36     if (Detect.notEmpty(startTime)) {
    37         params.put("startTime", startTime);
    38     }
    39     if (Detect.notEmpty(endTime)) {
    40         params.put("endTime", endTime);
    41     }
    42     //查询check数据表返回的数据
    43     Pagination<xxx> findDataxxx = xxxService.findDataxxx(params, order, page);
    44     dataMap.put("result", findDataxxx);
    45     return SUCCESS;
    46 }

    效果图如下所示,所有列都可以点击排序操作:

    待续......

  • 相关阅读:
    [原]Jenkins(七)---jenkins项目编译测试发布由maven构建的web项目
    [原]jenkins(六)---jenkins远程部署脚本
    [原]jenkins(五)---jenkins添加项目
    [原]Jenkins(四)---Jenkins添加密钥对
    [原]Jenkins(三)---Jenkins初始配置和插件配置
    [原]Jenkins(二)---jenkins之Git+maven+jdk+tomcat
    mysql给root开启远程访问权限
    [原]git的使用(六)---远程仓库
    [原]git的使用(五)---删除文件
    [原]git的使用(四)---撤销修改
  • 原文地址:https://www.cnblogs.com/biehongli/p/10644976.html
Copyright © 2011-2022 走看看