先看看效果:

var getData = ctx + "demo/table/list";$("#table").bootstrapTable({dataType : "json",method : 'post',cache : false,url : getData,columns : [{checkbox : true},{field : 'userId',title : '用户ID'},{field : 'userCode',title : '用户编号'},{field : 'userName',title : '用户姓名'},{field : 'userPhone',title : '用户手机'},{field : 'userEmail',title : '用户邮箱'},{field : 'userBalance',title : '用户余额'},{title : '操作',align : 'center',formatter : function(value, row, index) {var actions = [];actions.push('<a class="btn btn-danger btn-xs" href="javascript:;" onclick="remove(this)"><i class="fa fa-remove"></i>删除</a>');return actions.join('');}} ],onLoadSuccess : function(data) {var data = $('#table').bootstrapTable('getData', true);//合并单元格mergeCells($('#table'), data, "userName", 1);mergeCells($('#table'), data, "userPhone", 1);mergeCells($('#table'), data, "userEmail", 1);//mergeColspan($('#table'), data, [ "userId","userCode" ]);//列合并}});/*** 合并行* @param data 原始数据(在服务端完成排序)* @param fieldName 合并属性名称* @param colspan 合并列* @param target 目标表格对象*/function mergeCells(target, data, fieldName, colspan) {//声明一个map计算相同属性值在data对象出现的次数和var sortMap = {};for (var i = 0; i < data.length; i++) {for ( var prop in data[i]) {if (prop == fieldName) {var key = data[i][prop]if (sortMap.hasOwnProperty(key)) {sortMap[key] = sortMap[key] * 1 + 1;} else {sortMap[key] = 1;}break;}}}for ( var prop in sortMap) {console.log(prop, sortMap[prop])}var index = 0;for ( var prop in sortMap) {var count = sortMap[prop] * 1;$(target).bootstrapTable('mergeCells', {index : index,field : fieldName,colspan : colspan,rowspan : count});index += count;}}/*** 合并列* @param data  原始数据(在服务端完成排序)* @param fieldName 合并属性数组* @param target    目标表格对象*/function mergeColspan(target, data, fieldNameArr) {if (data.length == 0) {alert("不能传入空数据");return;}if (fieldNameArr.length == 0) {alert("请传入属性值");return;}var num = -1;var index = 0;for (var i = 0; i < data.length; i++) {num++;for ( var v in fieldNameArr) {index = 1;if (data[i][fieldNameArr[v]] != data[i][fieldNameArr[0]]) {index = 0;break;}}if (index == 0) {continue;}$(target).bootstrapTable('mergeCells', {index : num,field : fieldNameArr[0],colspan : fieldNameArr.length,rowspan : 1});}}

bootstrap-table动态合并相同行和列的方法相关推荐

  1. Table中合并相同内容列+Excel中合并相同内容列。

    Table中合并相同内容列的方法比较好办,网上代码也很多,参照了一些把它封装成jquery 插件,调用起来还是蛮好用的. 这个地方稍微修改了下,有的时候td中内容虽然一样,但是数据库中的value却是 ...

  2. java导出Excel(POI模式 Ajax下载 Post传参) bootstrap table getVisibleColumns获取显示的列

    工具类 (正式使用) package com.qyj.utils;import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson. ...

  3. bootstarp js设置列隐藏_bootstrap table getHiddenColumns获取隐藏的列的方法

    bootstrap table getHiddenColumns获取隐藏的列的方法 bootstrap table getHiddenColumns获取表格隐藏的列,即获取哪些列当前不可见的列,因为有 ...

  4. bootstrap table 动态列数据加载(一)

    bootstrap table 动态列数据加载(一) 我想把所有的收费项目作为表头,不固定死收费项目,数据库中有啥就显示啥. 动态数据加载时,不能用bean的嵌套,源码中加载表头和数据是分开的,第几列 ...

  5. php列出mysql表格,php列出mysql表所有行和列的方法

    本文实例讲述了php列出mysql表所有行和列的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: Selecting Data $user = "root"; ...

  6. pandas drop 删除行和列的方法

    pandas drop 删除行和列的方法 文章目录 pandas drop 删除行和列的方法 删除行 按行索引删除 删除单行 删除多行 删除列 按列索引删除(列本来是没有索引的,用df.columns ...

  7. [转]bootstrap table 动态列数

    原文地址:https://my.oschina.net/u/2356355/blog/1595563 据说bootstrap table非常好用,从入门教程中了解到它的以下主要功能: 由于固定表头意味 ...

  8. bootstrap table 怎么实现前两列固定冻结?

    $("#Table").bootstrapTable('destroy').bootstrapTable({pagination: true,//分页minimumCountCol ...

  9. pandas 选取行和列的方法

    本文介绍在 pandas 中如何读取数据行列的方法.数据由行和列组成,在数据库中,行被称作记录 (record),列被称作字段 (field).回顾一下我们对记录和字段的获取方式:比较常见的,字段根据 ...

  10. table 表格合并行或列

    合并单元格 <table><tbody><tr><th colspan="2">我是占位符</th><th col ...

最新文章

  1. 网络推广外包浅析怎样选择网站域名规则会更有利于SEO优化?
  2. 使用jquery调试ajax接口-2
  3. js Blob对象介绍
  4. My Appointment编辑场景下的roundtrip
  5. Andorid之网络通信框架Volley使用和总结
  6. DCGAN baseline
  7. Linux系统fb驱动信息,Linux下利用fb驱动截屏
  8. ROS@Ubuntu16.04体验记录
  9. 解决被卡巴斯基提示说KEY被列为黑名单
  10. AD18的安装教程(包括资料)
  11. sysmon安装报错“error getting the evt dll (wevtapi.dll): 87”解决办法
  12. linux ospf 命令,Linux_防火墙入门22:常用路由协议(OSPF)配置实例
  13. linux安装java运行环境_如何安装java运行环境
  14. 云计算时代的技术架构与开发模式
  15. Windows10 快捷键
  16. 华为交换机dhcp获取不到_华为S7706交换机DHCP Server 配置不成功问题
  17. html内边距的顺序,html中内边距和外边距之间的区别是什么? - 收获啦
  18. 时差 频差 双星定位 matlab,一种基于双星时差频差无源定位的伪距差分方法
  19. 用 shell 语言提取文件中的信息到另一个文件夹中
  20. python Matplotlib 绘制多个子图

热门文章

  1. 74. PHP 计数器
  2. 51. PHP 页面静态化(4)
  3. Linux命令整理-Kali
  4. i-83.net quadhost子产品
  5. 2018-2019-1 20165203 《信息安全系统设计基础》第十一周学习总结
  6. EditDistance,求两个字符串最小编辑距离,动态规划
  7. Java nextInt()函数
  8. linux下多条命令组合使用
  9. ASP.NET 控件开发速成教程:生成复合控件
  10. .Net Core之MVC项目的简单应用