bootstrap Table实现合并相同行

 更新时间:2019年07月19日 10:13:14   作者:qq_40591925  
这篇文章主要为大家详细介绍了bootstrapTable实现合并相同行,fastadmin框架同样使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

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

 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)
}

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

相关文章

  • JS使用eval()动态创建变量的方法

    JS使用eval()动态创建变量的方法

    这篇文章主要介绍了JS使用eval()动态创建变量的方法,详细分析了eval函数的功能及使用eval函数实现动态创建变量的步骤与相关注意事项,需要的朋友可以参考下
    2016-06-06
  • javascript数组按属性分组实现方法

    javascript数组按属性分组实现方法

    在开发过程中,前端有时需要对后端返回的数据进行一些处理,当后端返回给我们json对象数组时,我们可能会需要按照对象中的某一个属性来进行分组,下面这篇文章主要给大家介绍了关于javascript数组按属性分组的实现方法,需要的朋友可以参考下
    2023-05-05
  • JS上传图片预览插件制作(兼容到IE6)

    JS上传图片预览插件制作(兼容到IE6)

    这篇文章主要介绍了JS上传图片预览插件制作(兼容到IE6)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-08-08
  • js判断某个字符出现的次数的简单实例

    js判断某个字符出现的次数的简单实例

    下面小编就为大家带来一篇js判断某个字符出现的次数的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • javascript HTML5 Canvas实现圆盘抽奖功能

    javascript HTML5 Canvas实现圆盘抽奖功能

    这篇文章主要为大家详细介绍了javascript HTML5 Canvas实现圆盘抽奖功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • 一个JavaScript防止表单重复提交的实例

    一个JavaScript防止表单重复提交的实例

    防止重复表单提交的方法有很多,本文使用JavaScript来实现防止表单重复提交,很简单,但很实用,新手朋友们不要错过
    2014-10-10
  • Js实现简单的小球运动特效

    Js实现简单的小球运动特效

    这篇文章主要介绍了Js实现简单的小球运动特效的相关资料,需要的朋友可以参考下
    2016-02-02
  • javascript设计模式 – 解释器模式原理与用法实例分析

    javascript设计模式 – 解释器模式原理与用法实例分析

    这篇文章主要介绍了javascript设计模式 – 解释器模式,结合实例形式分析了javascript解释器模式相关概念、原理、用法及操作注意事项,需要的朋友可以参考下
    2020-04-04
  • ES6 Class中实现私有属性的一些方法总结

    ES6 Class中实现私有属性的一些方法总结

    这篇文章主要给大家介绍了关于ES6 Class中实现私有属性的一些方法,文中通过示例代码介绍的非常详细,对大家学习或者使用ES6具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • 用JS控制表格的逐行变色的表单

    用JS控制表格的逐行变色的表单

    给大家分享一个我写的友好的表单,可以用来代替gridview生成的默认的表格(那个控件生成的垃圾代码太多).
    2008-02-02

最新评论