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 相关文章推荐
setTimeout 不断吐食CPU的问题分析
Apr 01 Javascript
JavaScript constructor和instanceof,JSOO中的一对欢喜冤家
May 25 Javascript
Javascript 事件流和事件绑定
Jul 16 Javascript
引入autocomplete组件时JS报未结束字符串常量错误
Mar 19 Javascript
图片旋转、鼠标滚轮缩放、镜像、切换图片js代码
Dec 13 Javascript
关于vue.js v-bind 的一些理解和思考
Jun 06 Javascript
JS使用ActiveXObject实现用户提交表单时屏蔽敏感词功能
Jun 20 Javascript
javascript数据结构之多叉树经典操作示例【创建、添加、遍历、移除等】
Aug 01 Javascript
angularJs复选框checkbox选中进行ng-show显示隐藏的方法
Oct 08 Javascript
vue设置默认首页的操作
Aug 12 Javascript
vue基于Teleport实现Modal组件
May 31 Vue.js
微信小程序APP的事件绑定以及传递参数时的冒泡和捕获
Apr 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
DC宇宙的第一个英雄,堪称动漫史鼻祖,如今成为美国文化的象征
2020/04/09 欧美动漫
php 阴历-农历-转换类代码
2012/01/16 PHP
php计算指定目录下文件占用空间的方法
2015/03/13 PHP
PHP表单验证内容是否为空的实现代码
2016/11/14 PHP
php中分页及SqlHelper类用法实例
2017/01/12 PHP
phpstudy默认不支持64位php的解决方法
2017/02/20 PHP
CheckBox 如何实现全选?
2006/06/23 Javascript
比较全的JS checkbox全选、取消全选、删除功能代码
2008/12/19 Javascript
JS代码放在head和body中的区别分析
2011/12/01 Javascript
javascript克隆对象深度介绍
2012/11/20 Javascript
vue实现可增删查改的成绩单
2016/10/27 Javascript
遍历json获得数据的几种方法小结
2017/01/21 Javascript
js清除浏览器缓存的几种方法
2017/03/15 Javascript
Angular.js前台传list数组由后台spring MVC接收数组示例代码
2017/07/31 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
Vue 中使用vue2-highcharts实现top功能的示例
2018/03/05 Javascript
Node.js连接Sql Server 2008及数据层封装详解
2018/08/27 Javascript
vue--点击当前增加class,其他删除class的方法
2018/09/15 Javascript
vue使用codemirror的两种用法
2019/08/27 Javascript
vue 动态组件用法示例小结
2020/03/06 Javascript
通过实例解析chrome如何在mac环境中安装vue-devtools插件
2020/07/10 Javascript
vue根据条件不同显示不同按钮的操作
2020/08/04 Javascript
Python 12306抢火车票脚本
2018/02/07 Python
python用plt画图时,cmp设置方法
2018/12/13 Python
python 获取等间隔的数组实例
2019/07/04 Python
日本运动品牌美津浓官方购物网站:MIZUNO SHOP
2016/08/21 全球购物
Lyle & Scott苏格兰金鹰官网:英国皇室御用品牌
2018/05/09 全球购物
日本AOKI官方商城:AOKI西装
2020/06/11 全球购物
网上卖盒饭创业计划书范文
2014/02/07 职场文书
计算机网络工程专业职业生涯规划书
2014/03/10 职场文书
中考冲刺决心书
2014/03/11 职场文书
鸿星尔克广告词
2014/03/21 职场文书
低碳日宣传活动总结
2014/07/09 职场文书
清明节主题班会
2015/08/14 职场文书
Js类的构建与继承案例详解
2021/09/15 Javascript
Appium中scroll和drag_and_drop根据元素位置滑动
2022/02/15 Python