easyui 合并单元格

来源:互联网 发布:手写笔画图软件 编辑:程序博客网 时间:2024/05/21 22:50

1.合并方法

/*** EasyUI DataGrid根据字段动态合并单元格* 参数 tableID 要合并table的id* 参数 colList 要合并的列,用逗号分隔(例如:"name,department,office");*/function mergeCellsByField(tableID, colList) {    var ColArray = colList.split(",");    var tTable = $("#" + tableID);    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,                    field: ColArray[j],  //合并字段                    rowspan: tmpA,                    colspan: null                });                tTable.datagrid("mergeCells", { //根据ColArray[j]进行合并                    index: i - tmpA,                    field: "Ideparture",                    rowspan: tmpA,                    colspan: null                });                tmpA = 1;            }            PerTxt = CurTxt;        }    }}

2.调用合并方法

 //呈现列表数据        $('#List').datagrid({ pagination: true,            onLoadSuccess: function (data) {                if (data.rows.length > 0) {                    //调用mergeCellsByField()合并单元格                    mergeCellsByField("tbList", "No");                }            }        });

说明:
mergeCellsByField(tableID, colList) ;
参数 tableID 要合并table的id
参数 colList 要合并的列,用逗号分隔(例如:”name,department,office”);
这种方法一般情况下都不会用,因为合并出来的不美观