博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript动态合并纵向单元格
阅读量:6909 次
发布时间:2019-06-27

本文共 1587 字,大约阅读时间需要 5 分钟。

1.需求

合并相邻行内容相同的单元格。

2.概念

rowspan指定单元格纵向跨越的行数。如rowspan被设为3,这表示该单元格必须跨越三行(本身一行,加上另外两行)

3.公共方法

/**   * 单元格合并方法,增加rowspan属性   * @param data 要处理的数据   * @param nameList 合并的字段list   */function rowspanFun(data, nameList) {    for (var i = 0; i < nameList.length; i++) {      var name = nameList[i];      var startRow = 0;      var endRow = data.length;      var mergeNum = 1;      if (endRow != 1) {        for (var j = startRow; j < endRow; j++) {          if (j == endRow - 1) { //判断是否是最后一个元素            if (startRow == endRow - 1) {              data[j][name + 'Rowspan'] = 1;            }          } else {            if (data[startRow][name] == data[j + 1][name]) {              data[j + 1][name + 'Rowspan'] = 0;              mergeNum = mergeNum + 1;              data[startRow][name + 'Rowspan'] =mergeNum;            } else {              startRow = j + 1;              if (mergeNum > 1) {                data[startRow][name + 'Rowspan'] = 1;              } else {                data[j][name + 'Rowspan'] = 1;              }              mergeNum = 1;            }          }        }      } else {        data[0][name + 'Rowspan'] = 1;      }    }    return data;  }

4.js中调用公共方法

var data =  [      {name: 'dwj', sex: '女', age: 20},      {name: 'dwj', sex: '男', age: 20},      {name: 'dwq', sex: '女', age: 20},      {name: 'other', sex: '女', age: 20}    ];rowspanFun(data, ['name', 'sex']);

调用方法后的数据处理结果

clipboard.png

5.html中使用

{
{item.name}}
{
{item.sex}}
{
{item.age}}

注意:此html代码使用的是ng语法,请根据自已使用的js框架自行调整。

6.结果

clipboard.png

转载地址:http://tmfcl.baihongyu.com/

你可能感兴趣的文章
微信公众平台企业号回调模式的URL验证
查看>>
平台常用函数介绍
查看>>
公司讲座
查看>>
惆怅,诸事不顺
查看>>
Lambda架构与推荐在电商网站实践
查看>>
Docker Swarm与Apache Mesos的区别
查看>>
消息中间件保证消息一致性解决方案
查看>>
java内嵌浏览器DJNativeSwing
查看>>
Php学习
查看>>
寓意很深刻的故事
查看>>
Confluence 6 权限概述
查看>>
Android小白的探索:2D绘图之Android简易版Microsoft Visio学习之路 三、装饰者模式...
查看>>
现代操作系统--引论
查看>>
Unix Study之--AIX安装和配置SSH
查看>>
C++ priority_queue用法(大顶堆,小顶堆)
查看>>
带返回值的python多级菜单
查看>>
Linux中~/.是什么意思
查看>>
MySql-Binlog协议详解-流程篇
查看>>
Effective Java 学习笔记(第57条:只针对异常的情况才使用异常)
查看>>
Simple-Spring-Memcached深入研究一
查看>>