整理以前做的东西,这个合并单元格的问题再新浪博客也写过了。。。。。

下面这段代码是列表数据

//载入排放系数管理报表数据
        function LoadEmissionReportData() {
            //获取计算ID
            var CountID = getUrlParam("CountID");
            $.ajax({
                type: "POST",
                url: "../Ashx/GetGasInventoryListInfo.ashx?type=getParamReport",
                data: { "CountID": "" + CountID + "" },
                datatype: "text",
                cache: false,
                success: function (data) {
                    if (data != "") {
                        var jdata = $.parseJSON(data);
                        $("#paramTable").datagrid({
                            idField: "id",      //标识字段,主键
                            pagination: false,   //是否开启分页
                            rownumbers: true,   //行号
                            singleSelect: true, //是否开启单选还是多选
                            rownumbers: true,
                            pageSize: ,
                            pageNumber: ,
                            title: "排放系数管理表",
                            width: ",
                            columns: [[
                        { field: , rowspan: , align: 'center' },
                        { field: , rowspan: , align: 'center' },
                        { field: , rowspan: , align: 'center' },
                        { field: , rowspan: , align: 'center' },
                        { title:  },
                        { field: , rowspan: , align: 'center' }
                    ],
                    [
                    { field: , align: 'center' },
                        { field: , align: 'center' },
                        { field: , align: 'center' },
                        { field: , align: 'center' },
                        { field: , align: 'center' }
                    ]
                    ],
                            data: jdata
                        });
                    }
                    else {
                        AlertMsg(");//这是我们自己写的弹框js
                    }
                },
                error: function () {
                    AlertMsg(");
                }
            });
            $("#paramTable").datagrid({
                onLoadSuccess: function (data) {
                    ) {
                        //调用mergeCellsByField()合并单元格
                        mergeCellsByField("paramTable", "ID,Ext1,SName,form");

                    }
                }
            });
        }

合并单元格的代码

 function mergeCellsByField(tableID, colList) {
            var ColArray = colList.split(","); //切割需要合并的列名
            var tTable = $("#" + tableID);
            var TableRowCnts = tTable.datagrid("getRows").length;//获取整个table的行数
            var tmpA;
            var tmpB;
            var PerTxt = "";//记录单元格的值
            var CurTxt = "";
            var alertStr = "";

            PerTxt = "";
            tmpA = ;//记录合并的行数
            tmpB = ;
            //当列名为ID时 记录合并的行索引 和合并的行数 其他列则跟着从相同索引值开始合并相同的行数
            //遍历表格
            ; i <= TableRowCnts; i++) {
                if (i == TableRowCnts) {
                //表格为空
                    CurTxt = "";
                }
                else {
                    CurTxt = tTable.datagrid("getRows")[i]["ID"];
                }
                if (PerTxt == CurTxt) {
                    tmpA += ;
                }
                else {
                    tmpB += tmpA;
                    ; j < ColArray.length; j++) {
                        tTable.datagrid("mergeCells", {
                            index: i - tmpA,
                            field: ColArray[j], //合并字段
                            rowspan: tmpA,
                            colspan: null
                        });
                    }
                    tmpA = ;
                }
                PerTxt = CurTxt;
            }
        };

效果图:

easyui datagrid 合并单元格-LMLPHP

05-08 08:23