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. UVA 10891 Game of Sum(DP)

    This is a two player game. Initially there are n integer numbers in an array and players A and B get ...

  2. clock divider

    一个clock的产生: 1) Clock source的选择: cgm_mux5(.clk_out, .clk_in0, .clk_in1, .clk_in2, .clk_in3, .clk_in4, ...

  3. 在linux中搭建git服务器

    个人觉得, 以下搭建git服务器的过程就像是在linux增加了一个用户, 而这个用户的登录shell是 git-shell, 太刨根问底的东西我也说不清楚, 还是看下面的过程吧. 过程参考了网上的文章 ...

  4. Android利用数据库传送数据

    ---恢复内容开始--- 一.建表 //通过SQLiteDatabase 创建数据库stu.db3 final SQLiteDatabase db = SQLiteDatabase.openOrCre ...

  5. socket的简单通信

    ///客户端 package com.ch.day11_myclient; import java.io.BufferedReader;import java.io.IOException;impor ...

  6. android小功能:checkbox使用自己的背景点击切换背景

    xiazai_checkbox.xml <?xml version="1.0" encoding="utf-8"?> <selector xm ...

  7. laravel5.0升级到laravel5.1

    1.修改composer.json.将其中的"laravel/framework": "5.0.*"修改为"laravel/framework&quo ...

  8. win7中搜索文件内容的方法

    打开“控制面板”,选择“大类别”或“小类别”,然后打开 “索引选项”.点击“高级”按钮,在弹出的对话框中打开“文件类型”标签,在下方的输入框中“将新扩展名添加到列表中”,添加要搜索的未知文本文件的扩展 ...

  9. 使用BBCP来提升跨互联网的数据传输速度

    背景介绍: 目前项目在美国东西部以及欧洲都有服务器节点,跨互联网的数据传输速度很不稳定,之前我们主要是通过SCP以及Rsync等方式进行数据传输的. 无意间发现了BBCP这个软件之后,经过测试,效果非 ...

  10. iOS中 项目开发易错知识点总结

    点击return取消textView 的响应者 - (BOOL)textFieldShouldReturn:(UITextField *)textField { [_contactTextFiled  ...