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 相关文章推荐
javascript 可以拖动的DIV(二)
Jun 26 Javascript
JS/jQuery实现默认显示部分文字点击按钮显示全部内容
May 13 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
Feb 21 Javascript
深入理解JS中的变量及作用域、undefined与null
Mar 04 Javascript
jquery实现相册一下滑动两次的方法
Feb 09 Javascript
iframe跨域通信封装详解
Aug 11 Javascript
简单的js计算器实现
Oct 26 Javascript
基于js实现checkbox批量选中操作
Nov 22 Javascript
微信小程序 出现47001 data format error原因解决办法
Mar 10 Javascript
javascript简单链式调用案例分析
May 10 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
Jan 05 Javascript
vue树形结构获取键值的方法示例
Jun 21 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中的静态变量的基本用法
2014/03/20 PHP
PHP判断上传文件类型的解决办法
2015/10/20 PHP
PHP判断手机是IOS还是Android
2015/12/09 PHP
redis+php实现微博(二)发布与关注功能详解
2019/09/23 PHP
PHP并发场景的三种解决方案代码实例
2021/02/27 PHP
JS操作CSS随机改变网页背景实现思路
2014/03/10 Javascript
使用控制台破解百小度一个月只准改一次名字
2015/08/13 Javascript
jquery使用ul模拟select实现表单美化的方法
2015/08/18 Javascript
jquery实现数字输入框
2017/02/22 Javascript
jQuery实现动态添加、删除按钮及input输入框的方法
2017/04/27 jQuery
jQuery+Ajax实现用户名重名实时检测
2017/06/01 jQuery
javascript计算渐变颜色的实例
2017/09/22 Javascript
详细分析JS函数去抖和节流
2017/12/05 Javascript
详解在vue-cli项目下简单使用mockjs模拟数据
2018/10/19 Javascript
jQuery实现根据身份证号获取生日、年龄、性别等信息的方法
2019/01/09 jQuery
纯javascript实现选择框的全选与反选功能
2019/04/08 Javascript
vue中添加与删除关键字搜索功能
2019/10/12 Javascript
关于Js中new操作符的作用详解
2021/02/21 Javascript
python类参数self使用示例
2014/02/17 Python
python进阶教程之循环对象
2014/08/30 Python
跟老齐学Python之一个免费的实验室
2014/09/14 Python
Ruby使用eventmachine为HTTP服务器添加文件下载功能
2016/04/20 Python
详解Python map函数及Python map()函数的用法
2017/11/16 Python
分析Python中解析构建数据知识
2018/01/20 Python
解决python中使用plot画图,图不显示的问题
2018/07/04 Python
Scrapy框架爬取西刺代理网免费高匿代理的实现代码
2019/02/22 Python
Python实现ATM系统
2020/02/17 Python
Django Model中字段(field)的各种选项说明
2020/05/19 Python
django为Form生成的label标签添加class方式
2020/05/20 Python
python 利用Pyinstaller打包Web项目
2020/10/23 Python
AmazeUI 折叠面板的实现代码
2020/08/17 HTML / CSS
安全生产检讨书
2014/01/21 职场文书
快餐店的创业计划书范文
2014/01/29 职场文书
医院搬迁方案
2014/06/14 职场文书
复兴之路观后感3000字
2015/06/02 职场文书
远程教育培训心得体会
2016/01/09 职场文书