EasyUI datagrid 內容列合並


要實現如下合並樣式:

js代碼如下:

/**
    * EasyUI DataGrid根據字段動態合並單元格
    * param tableID 要合並table的id
    * param colList 要合並的列,用逗號分隔(例如:"name,department,office");
    * param mainColIndex 要合並的主列索引
    */
    function mergeCellsByField(tableID, colList, mainColIndex) {
        var ColArray = colList.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++) {
            if (i == TableRowCnts) {
                CurTxt = "";
            }
            else {
                CurTxt = tTable.datagrid("getRows")[i][ColArray[mainColIndex]];
            }
            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;
        }
    }
View Code

調用合並方法:

//dgReportDetail=要合並的datagrid,"col1,col2,col3"=要合並的列,0=‘參照主列’在第二個參數集合的索引,此處為col1
mergeCellsByField("dgReportDetail", "col1,col2,col3", 0);

如果沒有參照主列,實現內容列的相同字段自動合並,可參考以下地址:

http://www.cnblogs.com/xcsn/archive/2013/03/15/2960980.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM