easyui的bufferview滾動數據加載有合併單元格源碼修改

easyui的bufferview用於滾動加載時,有一個問題,當固定列數據行有合併單元格的時候,在滾動的時候,滾動前有單元格和滾動後的數據有合併單元格的情況時,如
滾動圖片
第一個單元格合併時是滾動前的數據;第二個單元格合併時是滾動後的數據,原則上,我們要的是這兩個單元格合併時一個單元格,但用bufferview的時候時,它顯示成如上圖所示了,顯然,這不是我們想要的,
查看bufferview的源碼,我們瞭解到,每滾動一次,滾動的數據行作爲獨立的表格插入到datagrid-body-inner這個class中,我們只需要修改源碼,讓其所有滾動的數據插入到一個表格,再添加到datagrid-body-inner中,
固定列的滾動數據,也是類似做法,修改如下
這裏寫圖片描述
數據單元格合併方法如下:

function _setDefaultMearge(rows) {
    var rows = $("#tt").datagrid('getRows');
    var len = rows.length;
    var preIndex = 0;
    for (var i = preIndex; i< len; i++) {
        var cityCode = rows[i].CITY_CODE;
        var cityCodeNum = 1;
        for (var j = i+1; j< len; j++) {
            if (cityCode == rows[j].CITY_CODE) {
                cityCodeNum++;
            } else {
                break;
            }
        }
        $('#tt').datagrid('mergeCells', {
            index: i,
            field: "CITY_NAME",
            rowspan: cityCodeNum
        });
        preIndex = cityCodeNum+i;

    }
}

附下載地址:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章