前端框架ExtJS4.0

下图为合并后效果:

最近项目中做Grid显示时,需要将单元格分类然后按一定要求给合并,如果单单是合并表头,这个实现很简单,但是现在要求的合并单元格,这就需要直接去操作HTML表格标签了,进行rowspan,colspan之类;下面是具体代码:

注:grid为要合并的表单,row为合并的开始行,col为合并的开始列,type['row','col']要合并列或者行,num合并的行数或者列数

function span(grid, row, col, type, num) {
    switch (type) {
        case 'row':
            tds = Ext.get(grid.view.getNode(row)).query('td');
            Ext.get(tds[col]).set({rowspan: num});
            Ext.get(Ext.get(tds[col])).setStyle({'vertical-align': 'middle'});
            for (i = row + 1; i < row + num; i++) {
                Ext.get(Ext.get(grid.view.getNode(i)).query('td')[col]).destroy();
            }
            break;
        case 'col':
           tds = Ext.get(grid.view.getNode(row)).query('td');
            Ext.get(tds[col]).set({colspan: num});
            Ext.get(Ext.get(tds[col])).setStyle({'vertical-align': 'middle'});
            for (i = row + 1; i < row + num; i++) {
                Ext.get(tds[col+1]).destroy();
            }
            break;
    }
}

监听load:根据自己的业务逻辑来设计代码

load: function(){

//遍历store
            var models = compareFinceStore.data;
            var length = models.length;
            for (var index = 0; index < length; index++) {//行
                var rows = 0;
                var record = models.get(index); 
                var obj = record.get('saleOrderNumber');

for (var index2 = index; index2 < models.length; index2++) {l//匹配每一行相同列

var record2 = models.get(index2);
                    if (obj == record2.get('saleOrderNumber')) {
                        rows++;
                    } else {
                        continue;
                    }
                }

//合并15,14,13,10,3,2列 注意:这里如果你是顺序合并的话或出现合并后剩余数据挤到下一列的问题,需要倒序进行合并解决问题
               var cols = [15,14,13,10,3,2];
                if (rows > 1) {
                  for(var i=0;i<cols.length;i++){
                      span(compareFinceReport_grid, index, cols[i], 'row', rows);
                  }
                    index += rows - 1;//直接跳转到合并后的下一行
                }
            }

}

ExtJs合并单元格相关推荐

  1. ExtJs grid合并单元格

    extjs中,如果要输出一些有合并单元格的表格,要怎么做呢?如图所示: 从网上找了个例子,其主要思想是表格的store装载完毕后,随即对这个grid的td进行一个个的控制,用的方法也是原始的javas ...

  2. ExtJs - grid 合并单元格 跨行跨列

    在Grid加载完成后直接调用此方法,需要注意的是,合并的单元格值必须一样. 1 /** 2 * 合并单元格 3 * @param {} grid 要合并单元格的grid对象 4 * @param {} ...

  3. 27、extjs操作用友华表Cell之合并单元格

    /*      * 合并表头单元格 站场名称 项目名称      * [例]Cellcell.MergeCells(3,1,5,1);      */     for ( var k = 0; k & ...

  4. python 2x xlrd使用merged_cells 读取的合并单元格为空

    一个简单的excel 如下 代码如下 #!/usr/bin/python# # -*- coding: utf-8 -*- import xlrd import sys reload(sys) sys ...

  5. cxgrid中纵横单元格合并_被合并单元格折磨疯的我,真后悔没早点知道这个Excel技巧!...

    在大家日常的工作中,经常会用到Excel合并单元格,然而合并单元格其实只是美化了表格,它会使我们后续的统计工作遇到很多麻烦,今天就给大家提供两个解决这个问题的思路. 01 合并单元格的基本操作方法 在 ...

  6. 【合并单元格】纵向合并单元格之前对数组处理【针对饿了么element的table的span-method合并行或列的计算方法】

    <template><el-table :span-method="spanMethod"><el-table-column label=" ...

  7. java excel导出 jxl_java使用JXL导出Excel及合并单元格

    jxl是一个韩国人写的java操作excel的工具,在开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI.其中功能相对POI比较弱一点.但jExcelAPI对中文支持 ...

  8. EasyUI DataGrid根据字段动态合并单元格

    为什么80%的码农都做不了架构师?>>>    1.合并方法 /** * EasyUI DataGrid根据字段动态合并单元格 * 参数 tableID 要合并table的id * ...

  9. python读写excel(合并单元格)

    读取 import xlrddef read_excel(file_path):# 获取数据data = xlrd.open_workbook(file_path)# 获取所有sheet名字sheet ...

最新文章

  1. 从美国5家创企看AI创业方向:落地解决问题才是王道
  2. Android弹出框的学习
  3. 服务器有操作系统吗,云服务器有操作系统吗
  4. P3572 [POI2014]PTA-Little Bird
  5. Leetcode 435.无重叠区间 (每日一题 20210708 同类型题)
  6. mac按文件名查找文件_如何在Mac上查找和删除大文件
  7. 使用无锁的方式和有锁的方式的程序性能对比
  8. Gym-100935I Farm 计算几何 圆和矩形面积交
  9. PNG免扣素材,快速提升你的画面设计感!
  10. 白光LED驱动方案的选择 TPS61043
  11. PowerShell中远程管理简单配置
  12. filebeat收集K8S日志,写入自动创建的索引
  13. 学历低的程序员要起飞了!拿下这个证书!年薪58万起!
  14. 程序猿的中秋节——浪漫至死不渝!!
  15. 台式计算机功率图片,【图片】台式机电源别随便买!教你如何选择合适功率的电脑电源!_电脑吧_百度贴吧...
  16. php判断浏览器语言国内外,PHP判断浏览器语言
  17. Linux汇编代码中加打印,汇编语言中调用C函数打印“hello world”
  18. 异方差下的OLS估计无效性
  19. 计算机网络中关于路由器的作用
  20. Wireshark的基本使用

热门文章

  1. MSP430FR6989系列教程之LCD
  2. 基于结构的药物设计:从分子对接到分子动力学
  3. 《淘宝网开店 进货 运营 管理 客服 实战200招》——2.13 怎样通过网络寻找好的 供货商...
  4. echarts入门 常用图表(柱状堆叠图)
  5. 软件测试的目的是什么
  6. 每年总有有一段时间不想上班
  7. VMware® Workstation 15 Pro 无法从iso文件安装系统
  8. [论文阅读] Singing Voice Timbre Classification of Chinese Popular Music
  9. mysql连接提示错误_服务器经常提示mysql连接错误,有木有解决方法?
  10. gridlayout java_Java GridLayout