JS实现EasyUI ,Datagrid,合并单元格功能

为了实现datagrid的合并单元格效果,datagrid的数据加载方式肯定是要写在JS文件内部的。

一:在JS内部添加Datagrid数据加载方法如下:

$("#id").datagrid({  //id时文档中datagrid的id
  url:url, //URL是获取数据的途径,可以是静态json文件,也可以是后台接口
  queryParams:{                    //queryParams是请求的参数,多用于条件查询,可有可无
  stanNum : $("#stanNum").textbox("getValue"),
  }

});

此方法可以实现自动分页效果。

没使用合并之前的样子

效果实现之后的表格

二:在Datagrid,合并单元格功能如下:

  实现合并单元格,只需要调用datagrid的onLoadSuccess方法,在onLoadSuccess方法内进行合并单元格操作

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

});

这里就涉及到一个简单的计算了。红色部分是调用datagrid的onLoadSuccess方法,红色中间的绿色部分就是单元格合并的方法。

最后附上一张红包码,学习赚钱两不误,支付宝扫一扫就能领取红包啦

 

转载于:https://www.cnblogs.com/wgl1/p/7060639.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值