zoukankan      html  css  js  c++  java
  • merge cell,报表开发解决合并列单元格问题

    • 需求

    报表开发解决合并列单元格问题

    • 核心代码

    <script>

    debugger;
    mc("dnd-example", 0, 0, 0);


    function mc(tableId, startRow, endRow, col) {
    var tb = document.getElementById(tableId);
    if (col >= tb.rows[0].cells.length) {

    return;
    }
    //获取表行数
    if (col == 0) { endRow = tb.rows.length - 1; }

    for (var i = startRow; i < endRow; i++) {

    if (tb.rows[startRow].cells[col].innerText == tb.rows[i + 1].cells[0].innerText || tb.rows[startRow].cells[0].innerText == tb.rows[i + 1].cells[0].innerText) {

    if (tb.rows[startRow].cells[col].innerText == tb.rows[i + 1].cells[0].innerText) {
    tb.rows[i + 1].removeChild(tb.rows[i + 1].cells[0]);
    tb.rows[startRow].cells[col].rowSpan = (tb.rows[startRow].cells[col].rowSpan | 0) + 1;
    }
    else {
    tb.rows[i + 1].removeChild(tb.rows[i + 1].cells[0]);
    tb.rows[startRow].cells[0].rowSpan = (tb.rows[startRow].cells[0].rowSpan | 0) + 1;
    }
    //
    if (i == endRow - 1 && startRow != endRow) {
    mc(tableId, startRow, endRow, col + 1);
    }

    }
    //当前列不合并,执行下一列
    else {
    if (col < 2) {
    mc(tableId, startRow, i + 0, col + 1);
    }
    startRow = i + 1;

    }
    }
    }
    </script>

    • 效果

  • 相关阅读:
    STL++?pb_ds平板电视初步探索
    STL二分查找函数的应用
    线性DP LIS浅谈
    Manacher算法(马拉车算法)浅谈
    KMP瞎扯一下
    2018/11/9 周五集训队第四次测试赛补题题解
    洛谷P1294 高手去散步
    差分数组浅谈
    树状数组浅谈
    plugins标签:分页助手PageHelper的实现
  • 原文地址:https://www.cnblogs.com/MatureMan/p/8623222.html
Copyright © 2011-2022 走看看