分享一下jqgrid合并单元格在原先代码的基础上进行有优化提高了效率

    xiaoxiao2025-08-11  9

    转自http://bbs.blueidea.com/thread-3067461-1-1.html 谢谢原作者的代码和分享

    效果:同列相邻的单元格,值相同的,合并单元格。

    优化后的代码:

    function Merger(gridName, CellName) { //得到显示到界面的id集合 var mya = $("#" + gridName + "").getDataIDs(); //数据总行数 var length = mya.length; //定义合并行数 var rowSpanTaxCount = 1; for (var i = 0; i < length; i += rowSpanTaxCount) { //从当前行开始比对下面的信息 var before = $("#" + gridName + "").jqGrid('getRowData', mya[i]); rowSpanTaxCount = 1; for (j = i + 1; j <= length; j++) { //和上边的信息对比 如果值一样就合并行数+1 然后设置rowspan 让当前单元格隐藏 var end = $("#" + gridName + "").jqGrid('getRowData', mya[j]); if (before[CellName] == end[CellName]) { rowSpanTaxCount++; $("#" + gridName + "").setCell(mya[j], CellName, '', { display: 'none' }); } else { break; } } $("#" + gridName + "").setCell(mya[i], CellName, '', '', { rowspan: rowSpanTaxCount }); } } 调用方法:

    gridComplete: function (data) { Merger('listname', 'columnname'); }

    转载请注明原文地址: https://ju.6miu.com/read-1301654.html
    最新回复(0)