jqgrid合并单元格(亲测有效)

# 参考
https://blog.csdn.net/li1325169021/article/details/103999233


# 场景
现在有做一个多(行)单元格合并的功能,但是从网上找了好多测试都不行,网上是双层for循环,我没理解为啥,然后就自己写了一个,用法可以参考上面文章的


# 前提
1、要加一个cellattr属性,id的值要唯一
{label: '合同编号', name: 'conCode', index: 'conCode', sortable: false, width: 50,
                cellattr: function(rowId) {
                    return 'id=\'conCode' + rowId + "\'"; //①给当前想合并的单元格设置id
                }
            },
2、在loadComplete方法中添加调用函数
loadComplete : function(data) {
            //合并单元格
            Merger('contractJqGrid', 'conCode');
}


# 代码
function Merger(gridName, CellName) {
        // $("#conCode04D060FB2676A61CE06011AC06007B6B").attr("rowspan", 12);
        // $("#contractJqGrid").setCell("01489A030C895B89E06011AC060066F7", CellName, '', { display: 'none' });

        // $("#contractJqGrid").setCell("01489A030C895B89E06011AC060066F7", CellName, '', { display: 'none' });
        // $("#conCode01489A030C895B89E06011AC060066F7").attr("rowspan", 2);

        //得到显示到界面的id集合
        var data = $("#" + gridName + "").getDataIDs();
        //当前显示多少条
        var length = data.length;
        //定义合并行数
        var rowSpanTaxCount = 1;
        var temp = 1;
        var index = '';
        for (var i = 0; i < length; i++) {
            //从上到下获取一条信息
            var before = $("#" + gridName + "").jqGrid('getRowData', data[i]);
            var end = $("#" + gridName + "").jqGrid('getRowData', data[i+1]);
            if (before[CellName] == end[CellName]) {
                rowSpanTaxCount++;
                temp = rowSpanTaxCount;
                if(index==''){
                    index = CellName+data[i];
                }
                $("#contractJqGrid").setCell(data[i+1], CellName, '', { display: 'none' });
                $("#"+index).attr("rowspan", temp);
            } else {
                index='';
                rowSpanTaxCount = 1;
            }
        }
        $("#"+index).attr("rowspan", temp);
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值