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;

    }
}

附下载地址:

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