JqGrid行合并

(一)代码及合并调用方法,项目代码,可用

                <script type="text/javascript">
                    $(document).ready(function () {
                        $("#jqGrid").jqGrid({
                            url: '${ctx}/marketingPlan/getExecuteMarketingPlanPacking',
                            styleUI: 'Bootstrap',
                            editurl: 'clientArray',
                            datatype: "json",
                            rownumbers: true,
                            colNames: ['Id', '方案名称', '方案内容', '匹配企业', '接受状态','是否执行'],
                            colModel: [
                                {name: 'id', index: 'id', width: '30px', hidden: true,key:true},
                                {name: 'marketingPlanTitle', index: 'marketingPlanTitle', width: '50px',
                                    cellattr: function(rowId) {
                                        //合并单元格,为单元格赋id
                                        return 'id=\'marketingPlanTitle' + rowId + "\'";
                                    }},
                                {name: 'marketingPlanContent', index: 'marketingPlanContent', width: '80px',
                                    cellattr: function(rowId) {
                                        //合并单元格
                                        return 'id=\'marketingPlanContent' + rowId + "\'";
                                    }},
                         
                                }
                            ],
                            rowNum: 15,
                            rowList : [ 20, 15,30 ],
                            height: $(window).height,
                            autowidth: true,
                            pager: "#jqGridPager",
                            altRows: true,
                            hidegrid: false,
                            viewrecords: true,
                            recordpos: 'left',
                            loadonce: true,
                            multiselect: false,
                            loadComplete: function () {
                            },
                            jsonReader: {
                                root: "rows",
                                page: "page",
                                total: "total",
                                records: "records",
                                repeatitems: false,
                                cell: "cell",
                                id: "id"
                            },
                            gridComplete: function () {


                                      //表格加载完成后调用方法
                                    var gridName = "jqGrid";
                                    Merger(gridName, 'marketingPlanTitle');
                                    Merger(gridName, 'marketingPlanContent');


                            },



                    });

                        $('#jqGrid').jqGrid('navGrid', '#jqGridPager', {
                            refresh: false,
                            edit: false,
                            add: false,
                            del: false,
                            search: false,
                            position: "right"
                        })


                    });


      //单元格行合并方法
                    function Merger(gridName, CellName) {
                        //得到显示到界面的id集合
                        var mya = $("#" + gridName + "").getDataIDs();
                        //当前显示多少条
                        var length = mya.length;
                        for (var i = 0; i < length; i++) {
                            //从上到下获取一条信息
                            var before = $("#" + gridName + "").jqGrid('getRowData', mya[i]);
                            //定义合并行数
                            var rowSpanTaxCount = 1;
                            for (j = i + 1; j <= length; j++) {
                                console.log("length==========="+length);
                                //和上边的信息对比 如果值一样就合并行数+1 然后设置rowspan 让当前单元格隐藏
                                var end = $("#" + gridName + "").jqGrid('getRowData', mya[j]);
                                if (before[CellName] == end[CellName]) {
                                    rowSpanTaxCount++;
                                    $("#" + gridName + "").setCell(mya[j], CellName, '', { display: 'none' });
                                } else {
                                    rowSpanTaxCount = 1;
                                    break;
                                }
                                $("#" + CellName + "" + mya[i] + "").attr("rowspan", rowSpanTaxCount);
                            }
                        }
                    }

                </script>
          

(二)效果图

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值