1、指定列的行合并

* 效果图:

 

* 程序:

  1. function mergeGridColCells(grid,rowFildName)
  2. {
  3. var rows=grid.datagrid('getRows' );
  4. //alert(rows.length);
  5. //alert(rows[1][rowFildName]);
  6. var startIndex=0;
  7. var endIndex=0;
  8. if(rows.length< 1)
  9. {
  10. return;
  11. }
  12. $.each(rows, function(i,row){
  13. if(row[rowFildName]==rows[startIndex][rowFildName])
  14. {
  15. endIndex=i;
  16. }
  17. else
  18. {
  19. grid.datagrid( 'mergeCells',{
  20. index: startIndex,
  21. field: rowFildName,
  22. rowspan: endIndex -startIndex+1
  23. });
  24. startIndex=i;
  25. endIndex=i;
  26. }
  27. });
  28. grid.datagrid( 'mergeCells',{
  29. index: startIndex,
  30. field: rowFildName,
  31. rowspan: endIndex -startIndex+1
  32. });
  33. }
 
*参数说明

grid:        easyUI的datagrid对象
rowFildName: 和并列的field属性值
 
 
 
  1. 源代码如下:

    1. function mergeGridColCells(grid,refCols,rowFildNames)
    2. {
    3. var rows=grid.datagrid('getRows' );
    4. //alert(rows.length);
    5. //alert(rows[1][rowFildName]);
    6. var flag=false ;
    7. var startIndex=0;
    8. var endIndex=0;
    9. if(rows.length< 1)
    10. {
    11. return;
    12. }
    13. $.each(rows, function(i,row){
    14. $.each(refCols, function(j,refCol){
    15. if(row[refCol]!=rows[startIndex][refCol])
    16. {
    17. flag= false;
    18. return false ;
    19. }
    20. else
    21. {
    22. flag= true;
    23. }
    24. });
    25. //if(row[rowFildName]==rows[startIndex][rowFildName])
    26. if(flag)
    27. {
    28. endIndex=i;
    29. }
    30. else
    31. {
    32. $.each(rowFildNames, function(k,rowFildName){
    33. grid.datagrid( 'mergeCells',{
    34. index: startIndex,
    35. field: rowFildName,
    36. rowspan: endIndex -startIndex+1,
    37. colspan: null
    38. });
    39. });
    40. startIndex=i;
    41. endIndex=i;
    42. }
    43. });
    44. $.each(rowFildNames, function(k,rowFildName){
    45. grid.datagrid( 'mergeCells',{
    46. index: startIndex,
    47. field: rowFildName,
    48. rowspan: endIndex -startIndex+1,
    49. colspan: null
    50. });
    51. });
    52. }
  2. 参数说明
    grid:        easyUI的datagrid对象

    refCols        合并参考列数组,及这些列都相等则合并rowFildNames指定的列
    rowFildNames: 和并列的field属性值及要合并的列数组

  3.  
    示例:mergeGridColCells($('#serviceTypeTable'),['serviceTypeId','areaId'],['areaName']);

easyUI单元格合并自定义封装的更多相关文章

  1. asp.net使用控件datagrid实现表头单元格合并

    合并的要点: 1.datagid的单元格合并原理是table中tr,td的布局实现; 2.合并的时机实在其datagridcreate事件中实现; 3.认识一个对象TableCellCollectio ...

  2. SNF快速开发平台MVC-表格单元格合并组件

    1.   表格单元格合并组件 1.1.      效果展示 1.1.1.    页面展现表格合并单元格 图 4.1 1.1.2.    导出excel合并单元格 图 4.2 1.2.      调用说 ...

  3. excel技巧--单元格合并与拆分

    如果要将上图的地区列做成下图的合并单一列: 有如下做法: (以下图表格为例) 1.选择要排序的表格,点击“开始”-->排序和筛选-->自定义排序.在对话框选择“业务项目”进行排序: 2.选 ...

  4. JS:jquery插件表格单元格合并.

    公司需要用到单元格合并,于是动手封装了一个简单的jquery插件,封装的函数是直接写好转的,请多多提意见看代码是否有优化的地方..... 截图: 代码: /* * mergeTable 0.1 * C ...

  5. Qt实现表格控件-支持多级列表头、多级行表头、单元格合并、字体设置等

    目录 一.概述 二.效果展示 三.定制表头 1.重写数据源 2.重写QHeaderView 四.设置属性 五.相关文章 原文链接:Qt实现表格控件-支持多级列表头.多级行表头.单元格合并.字体设置等 ...

  6. ExtJS 4.2 Grid组件的单元格合并

    ExtJS 4.2 Grid组件本身并没有提供单元格合并功能,需要自己实现这个功能. 目录 1. 原理 2. 多列合并 3. 代码与在线演示 1. 原理 1.1 HTML代码分析 首先创建一个Grid ...

  7. NPOI 教程 - 2.1单元格合并

    来源:http://liyingchun343333.blog.163.com/blog/static/3579731620091018212990/ 合并单元格在制作表格时很有用,比如说表格的标题就 ...

  8. DataGridView单元格合并

    本文章转载:http://www.cnblogs.com/xiaofengfeng/p/3382094.html 图: 代码就是如此简单 文件下载:DataGridView单元格合并源码 也可以参考: ...

  9. devexpress实现单元格合并以及依据条件合并单元格

    1.devexpress实现单元格合并非常的简单,只要设置属性[AllowCellMerge=True]就可以了,实现效果如下图: 2.但是在具体要求中并非需要所有的相同单元格都合并,可能需要其他的条 ...

随机推荐

  1. Extjs布局

    今天我来总结一下extjs下面的各种布局,不仅是为了给自己做笔记,同时,也希望让刚刚接触extjs的朋友们快速的了解下,大神就不用看了.废话不多说,开始布局的讲解. (以下代码都可以直接在javasc ...

  2. 夺命雷公狗---Thinkphp----11之管理员的增删改查的完善

    由于我们刚才的帐号还没通过任何的验证就可以直接进入数据库了,这当然不是不合理的交互逻辑,所以我们要修改下,让他变得3合理一些, 所以我们还是要按照套路来修改几处即可解决问题: 首先修改下添加的控制器: ...

  3. Testcase篇

    1: forever @(); 等待,c触发event. forever @(`SOC_TESTBENCH_NAME.vt_event1);在整个case的执行过程中,只要.c触发event1,就执行 ...

  4. jquery 实践总结

    Ready事件 对DOM操作之前需要监听页面加载进度,应当在页面加载完成之后再执行DOM编辑操作. $(document).ready(function(){ ... }); 或者 $(functio ...

  5. HDU4288:Coder(线段树单点更新版 && 暴力版)

    Problem Description In mathematics and computer science, an algorithm describes a set of procedures ...

  6. 图像处理控件ImageGear for .NET教程如何为应用程序 添加DICOM功能(2)

    在前面的一些关于图像处理控件ImageGear for .NET文章<图像处理控件ImageGear for .NET教程: 添加DICOM功能(1)>中讲解了如何对应用程序添加DICOM ...

  7. scrapy学习记录

    scrapy是一个用来爬取一个或多个网站的数据,提取数据的应用框架.下载过程非常复杂,而且会遇到各种问题.所以写个博客来记录下. 安装好python2.7之后,就可以开始.安装scrapy前还需要安装 ...

  8. 161101、在Java中如何高效判断数组中是否包含某个元素

    如何检查一个数组(无序)是否包含一个特定的值?这是一个在Java中经常用到的并且非常有用的操作.同时,这个问题在Stack Overflow中也是一个非常热门的问题.在投票比较高的几个答案中给出了几种 ...

  9. iOS 学习笔记 二 (2015.02.26)

    How To Use Git Source Control with Xcode in iOS 6 If you're new here, you may want to subscribe to m ...

  10. ubuntu安装最新版本的node.js

    下面的方法适用于最新版本的Ubuntu.Ubuntu 12.04 LTS.Ubuntu 12.10.Ubuntu 13.04等版本.它可以帮助开发者在Ubuntu上安装Node.js,无需从头编译安装 ...