Easyui Datagrid 根据字段动态合并行

效果:
这里写图片描述

使用方法:
mergeCellsByField(“Table_ShouKuan”,“FContractNO,FBizDate,FTotalAmountNoTax,FTotalAmount,FPersonName,FGroupName”, “0,1,2,3,4,5”);

/**
* EasyUI DataGrid根据字段动态合并单元格
* param tableID 要合并table的id
* param colList 要合并的列,用逗号分隔(例如:"name,department,office");
* param mainColIndex 要合并的列索引集(针对要合并的列)
例如:"0,1,2" 当然也可以是"0"也可以是"0,1"或者"1,2"这样
*/

//datagrid 合并行 2017年8月29日10:33:21 Denny
function mergeCellsByField(tableID, colList, ColIndexArr) {
    var ColArray = colList.split(",");
    var indexArr = ColIndexArr.split(",");
    var tTable = $('#' + tableID);
    var TableRowCnts = tTable.datagrid("getRows").length;
    var tmpA;
    var tmpB;
    var PerTxt = "";
    var CurTxt = "";
    var alertStr = "";
    for (var i = 0; i <= TableRowCnts ; i++) {
        //整理逻辑如果 几个关键列数据相等

        debugger
        var tmp = ""
        if (i == TableRowCnts) {
            CurTxt = "";
        }
        else {
            for (var kk = 0; kk < indexArr.length; kk++) {
                tmp += tTable.datagrid("getRows")[i][ColArray[indexArr[kk]]];
            }
            CurTxt = tmp
        }
        if (PerTxt == CurTxt) {
            tmpA += 1;
        }
        else {
            tmpB += tmpA;
            for (var j = 0; j < ColArray.length; j++) {
                tTable.datagrid('mergeCells', {
                    index: i - tmpA,
                    field: ColArray[j],
                    rowspan: tmpA,
                    colspan: null
                });
            }
            tmpA = 1;
        }
        PerTxt = CurTxt;
    }
}

更多文章请扫码关注公众号,有问题的小伙伴也可以在公众号上提出。
请添加图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值