位置:首页 » 文章/教程分享 » easyui datagrid 实现行合并

我们在做统计报表时经常用到合并,那么,在easyui中的datagrid中如何实现行合并呢?请看本文的介绍。

行合并主要在datagrid的onLoadSuccess事件中,判断前后值是否一样,来进行合并。代码如下:

 $("#yqsxmwh").datagrid({
  onLoadSuccess: function(data){                      //data是默认的表格加载数据,包括rows和Total
    var mark=1;                                                 //这里涉及到简单的运算,mark是计算每次需要合并的格子数
    for (var i=1; i <data.rows.length; i++) {     //这里循环表格当前的数据
      if (data.rows[i].xmmc== data.rows[i-1].xmmc) {   //后一行的值与前一行的值做比较,相同就需要合并,直接用获取的row点出合并的字段
        mark += 1;                                            
        $(this).datagrid('mergeCells',{ 
          index: i+1-mark,                 //datagrid的index,表示从第几行开始合并;紫色的内容需是最精髓的,就是记住最开始需要合并的位置
          field: 'stanNum',                 //合并单元格的区域,就是clomun中的filed对应的列
          rowspan:mark                   //纵向合并的格数,如果想要横向合并,就使用colspan:mark
        }); 
      }else{
        mark=1;                                         //一旦前后两行的值不一样了,那么需要合并的格子数mark就需要重新计算
      }
    }
  }

});