easyui动态跨行

思路

1.需要传入的参数:表格的id选择器的名称,需要合并的字段列的名称

2.声明变量:curtext(当前单元格的值),pretext(前一个单元格的值),rowscnt(需要跨行的行数)

3.循环数据中的每一行,然后获取需要跨行的字段的值,开始比较,如果前一个值和后一个值相同,那么rowscnt就加一,不相同的时候就用当前行的行标减去rowscnt,然后实现单元格合并

代码

  function mergeCellsByField(tableID, colList) {
    			   var ColArray = colList.split(",");//将要合并的字段分割成数组   
    			   var tTable = $("#" + tableID); //选择器 选择table  
    			   var TableRowCnts = tTable.datagrid("getRows").length;//总行数   
    			   var tmpA;
    			   var tmpB;   
    			   var PerTxt = "";//前一个单元格的内容   
    			   var CurTxt = "";//当前单元格的内容
    			   var alertStr = "";   
    			for (j = ColArray.length - 1; j >= 0; j--) {//遍历要合并的字段
    					PerTxt = "";//前一个单元格
    					tmpA = 1;//要合并单元格的数量
    					tmpB = 0;
    					for (i = 0; i <= TableRowCnts; i++) {
    						if (i == TableRowCnts) { //最后一行
    							CurTxt = "";
    						} else {
    							CurTxt = tTable.datagrid("getRows")[i][ColArray[j]]; //要合并列当前单元格的内容
    						}
    						if (PerTxt == CurTxt) {
    							tmpA += 1;
    						} else {
    							tmpB += tmpA;
    							tTable.datagrid("mergeCells", {
    								index : i - tmpA,//从第几行开始合并,第一个单元格是0
    								field : ColArray[j], //合并字段
    								rowspan : tmpA,//合并的数量
    								colspan : null
    							});
    
    							tmpA = 1;
    						}
    						PerTxt = CurTxt;
    					}
    				}
    			}

什么时候使用(datagrid数据加载完毕)

onLoadSuccess: function (data) {
		             if (data.rows.length > 0) {                 
		                 mergeCellsByField("list", "bkjb"); 
		              }
		          }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值