您现在的位置是:首页 > 唯美句子

前端-layui动态渲染表格行列与复杂表头合并

作者:晨起时间:2024-03-24 19:15:42分类:唯美句子

简介  文章浏览阅读1.8k次。cols中传入[ [ ],[ ] ]这种数组类型的格式;拿到id 渲染位置表格。_layui 合并表头

点击全文阅读

说在前面:
最近一直在用layui处理表格
写的有些代码感觉还挺有用的,顺便记录下来方便以后查看使用;

HTML处代码

拿到id 渲染位置表格

 <div class="layui-table-body salaryTable">                <table class="layui-table" id="ID-table-salary-parse" style="display:block"></table>            </div>

CSS

  .layui-table th {             background-color: rgb(199 217 234 / 78%); /* 设置表头的背景颜色 */             color: #2e2e2e; /* 设置表头的文本颜色 */             font-weight: bold;         }        .layui-table tbody tr:nth-child(odd) {            background-color: #ffffff; /* 设置奇数行的背景颜色 */        }        .layui-table tbody tr:nth-child(even) {            background-color: rgba(239, 239, 239, 0.94); /* 设置偶数行的背景颜色 */        }        .layui-table td, .layui-table th {            border: 1px solid #e6e6e6; /* 边框颜色 */        }        .layui-table td, .layui-table th {            border-width: 2px; /* 设置双边框效果 */        }

重点来了
JS代码

var backData = {};var backData3 = {};layui.use('table', function () {    getStudentTaskData()    function getStudentTaskData() {        ajaxBase.getSelectInfo(false, function (jsonData) {            if (jsonData['单据json']) {                backData = jsonData['代扣项目'];                backData3 = jsonData['工资薪酬计算表'];            }        })    }    var datas = []    $.each(backData3, function (index, item) {        var coll = {};        for (key in item) {            coll[key.split("、")[1]] = item[key];        }        datas.push(coll);    })    var table = layui.table;    var colLists = [];    for (key in backData[0]) {        var colList = {};        colList['field'] = key;        colList['title'] = key;        colList['align'] = 'center';        colList['minWidth'] = '122';        colLists.push(colList);    }    colLists.sort();    // 渲染    table.render({        elem: '#ID-table-demo-parse'        , data: backData        , cols: [colLists]        , height: 100    });    colLists = [];    var colls = [];    const site = 0;    var colList = {};    for (key in backData3[0]) {        colList[key.split("、")[0]] = key.split("、")[1]    }    for (key in colList) {        var coll = {};        if (colList[key].includes('代扣项目')) {            coll['field'] = colList[key];            coll['edit'] = 'text';            coll['title'] = colList[key].split("-")[1];            coll['align'] = 'center';            colls.push(coll);            // colLists.push(coll);        } else {            coll['field'] = colList[key];            coll['title'] = colList[key];            coll['edit'] = 'text';            coll['rowspan'] = 2;            coll['align'] = 'center';            colLists.push(coll);            if (colList[key].includes('收入总额')) {                var colll = {};                colll['field'] = '代扣项目';                colll['title'] = '代扣项目';                colll['align'] = 'center';                colll['colspan'] = 5;                colLists.push(colll);            }        }    }    //console.log('colLists', colLists)    // 渲染    table.render({        elem: '#ID-table-salary-parse'        , data: datas        , cols: [colLists, colls]        , height: 350    });});

合并表头需要在在这里插入图片描述
cols中传入[ [ ],[ ] ]这种数组类型的格式;
主要就是不合并的表头都加上rowspan:2(代表行跨度为2)
colspan:5 表示第二个数组需要合并的表格个数;

完成效果图:
在这里插入图片描述


小程序演示地址:
点击演示

点击全文阅读

郑重声明:

本站所有活动均为互联网所得,如有侵权请联系本站删除处理

上一篇:作文评语20字

下一篇:返回列表

我来说两句