bootstrap Table实现合并相同行


Posted in Javascript onJuly 19, 2019

本文实例为大家分享了bootstrapTable实现合并相同行的具体代码,供大家参考,具体内容如下

方法:调用mergeCells(data, fieldName, target),可以实现合并相同行

bootstrap Table实现合并相同行

var table = $("#table");
 // 初始化表格
    table.bootstrapTable({
     url: $.fn.bootstrapTable.defaults.extend.index_url,
     pk: 'id',
     sortName: 'update_time',
     search: false,
     toolbar: '#toolbar',
     commonSearch: true,
     pageSize : 12,
     searchFormVisible: true,
     queryParams: function (params) {
      //这里可以追加搜索条件
      var filter = JSON.parse(params.filter);
      var op = JSON.parse(params.op);
      //这里可以动态赋值,比如从URL中获取admin_id的值,filter.admin_id=Fast.api.query('admin_id');
      // filter.admin_id = 1;
      if(filter.is_bujiao=='是')
       filter.is_bujiao=1
      if(filter.is_bujiao=='否')
       filter.is_bujiao=0
      op.username = "like";
      params.filter = JSON.stringify(filter);
      params.op = JSON.stringify(op);
      return params;
     },
     columns: [
      [ 
      {field: 'total_order_id', title: '总订单号',sortable: true,width: "150px",formatter: Table.api.formatter.search}
      ]
     ],
     
     onLoadSuccess: function (data) {
      mergeCells(data, "total_order_id", $("#table"));
     },
    });
 
// 为表格绑定事件
Table.api.bindevent(table);
/**
 * 合并相同行
 * @param data 原始数据(在服务端完成排序)
 * @param fieldName 合并属性数组
 * @param target 目标表格对象
 */
function mergeCells(data, fieldName, target) {
 setTimeout(function () {
  if (data.rows.length == 0) {
   return;
  }
  var numArr = [];
  var number=0;
  var classzhi='dan';
  if( data.rows.length>1){
   for (let i = 0; i < data.rows.length; i++) {
    if(data.rows[i][fieldName]!='' && data.rows[i][fieldName]!='-'){
     if(data.rows[i-1]){
      if(data.rows[i-1][fieldName]!='' && data.rows[i-1][fieldName]!='-'){
       if(data.rows[i-1][fieldName]==data.rows[i][fieldName]){
        number++
       }
       else{
        number=number+1
        numArr.push({index:i-number,number:number,pan:'1'})
        number=0
       }
      }
     }
     if(!data.rows[i+1]){
      number=number
      numArr.push({index:i-number,number:number+1,pan:'2'})
      number=0
     }else{
      if(data.rows[i+1][fieldName]=='' || data.rows[i+1][fieldName]=='-'){
       number=number
       numArr.push({index:i-number,number:number+1,pan:'3'})
       number=0
      }
     }
    }else{
     numArr.push({index:i,number:1,pan:'4'})
    }
   }
  }else{
   numArr.push({index:0,number:1,pan:'5'})
  }
  // console.log(numArr);
  for (let x = 0; x < numArr.length; x++) {
   if(x%2){
    for(let y=0;y<numArr[x]['number'];y++){
     $(target).children('tbody').children('tr').eq(numArr[x]['index']+y).css('background','#ccc')
    }
   }else{
    for(let y=0;y<numArr[x]['number'];y++){
     $(target).children('tbody').children('tr').eq(numArr[x]['index']+y).css('background','#FFF')
    }
   }
   $(target).bootstrapTable('mergeCells', { index: numArr[x]['index'], field: fieldName, colspan: 1, rowspan: numArr[x]['number']});
  }
 },0)
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery初学:find()方法及children方法的区别分析
Jan 31 Javascript
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
Sep 19 Javascript
JavaScript中的console.group()函数详细介绍
Dec 29 Javascript
AspNet中使用JQuery上传插件Uploadify详解
May 20 Javascript
Hammer.js+轮播原理实现简洁的滑屏功能
Feb 02 Javascript
AngulerJS学习之按需动态加载文件
Feb 13 Javascript
jQuery Chosen通用初始化
Mar 07 Javascript
微信小程序--onShareAppMessage分享参数用处(页面分享)
Apr 18 Javascript
vue resource post请求时遇到的坑
Oct 19 Javascript
vue jsx 使用指南及vue.js 使用jsx语法的方法
Nov 11 Javascript
Vue导出json数据到Excel电子表格的示例
Dec 04 Javascript
解决layui数据表格Date日期格式的回显Object的问题
Sep 19 Javascript
Element-ui DatePicker显示周数的方法示例
Jul 19 #Javascript
element-ui 中使用upload多文件上传只请求一次接口
Jul 19 #Javascript
深入浅析ng-bootstrap 组件集中 tabset 组件的实现分析
Jul 19 #Javascript
bootstrap table插件动态加载表头
Jul 19 #Javascript
Vue数据驱动表单渲染,轻松搞定form表单
Jul 19 #Javascript
VueJS 取得 URL 参数值的方法
Jul 19 #Javascript
vue自定义表单生成器form-create使用详解
Jul 19 #Javascript
You might like
创建数据库php代码 用PHP写出自己的BLOG系统
2010/04/12 PHP
使用XHGui来测试PHP性能的教程
2015/07/03 PHP
PHP使用SOAP调用API操作示例
2018/12/25 PHP
网页自动跳转代码收集
2009/09/27 Javascript
jquery实现图片翻页效果
2013/12/23 Javascript
基于jQuery滑动杆实现购买日期选择效果
2015/09/15 Javascript
jquery+正则实现统一的表单验证
2015/09/20 Javascript
jQuery解析Json实例详解
2015/11/24 Javascript
javascript html实现网页版日历代码
2016/03/08 Javascript
jQuery Ajax 加载数据时异步显示加载动画
2016/08/01 Javascript
jquery  实现轮播图详解及实例代码
2016/10/12 Javascript
jQuery插件版本冲突的处理方法分析
2017/01/16 Javascript
vue 粒子特效的示例代码
2017/09/19 Javascript
Vue中自定义全局组件的实现方法
2017/12/08 Javascript
微信小程序module.exports模块化操作实例浅析
2018/12/20 Javascript
layer弹出框确定前验证:弹出消息框的方法(弹出两个layer)
2019/09/21 Javascript
python解决字典中的值是列表问题的方法
2013/03/04 Python
python简单获取本机计算机名和IP地址的方法
2015/06/03 Python
Django中日期处理注意事项与自定义时间格式转换详解
2018/08/06 Python
Python闭包思想与用法浅析
2018/12/27 Python
python使用tomorrow实现多线程的例子
2019/07/20 Python
Django 批量插入数据的实现方法
2020/01/12 Python
Python转换字典成为对象,可以用&quot;.&quot;方式访问对象属性实例
2020/05/11 Python
keras 多任务多loss实例
2020/06/22 Python
利用python爬取有道词典的方法
2020/12/08 Python
欧舒丹美国官网:L’Occitane美国
2018/02/23 全球购物
Linux上比较文件的命令都有哪些
2012/02/24 面试题
解释一下ruby中的特殊方法与特殊类
2013/02/26 面试题
公司培训心得体会
2014/01/03 职场文书
医药类个人求职的自我评价
2014/02/12 职场文书
团代会宣传工作方案
2014/05/08 职场文书
党政领导班子群众路线对照检查材料
2014/10/26 职场文书
行政经理岗位职责
2015/04/15 职场文书
承诺书的签字人,需不需要承担相应的责任?
2019/07/09 职场文书
铁拳制作人赞《铁拳7》老头环Mod:制作精良 但别弄了
2022/04/03 其他游戏
Python Pytorch查询图像的特征从集合或数据库中查找图像
2022/04/09 Python