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

这篇具有很好参考价值的文章主要介绍了前端-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

    });
});

合并表头需要在layui纵向表格,前端,前端,layui,javascript
cols中传入[ [ ],[ ] ]这种数组类型的格式;
主要就是不合并的表头都加上rowspan:2(代表行跨度为2)
colspan:5 表示第二个数组需要合并的表格个数;

完成效果图:
layui纵向表格,前端,前端,layui,javascript文章来源地址https://www.toymoban.com/news/detail-733533.html


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

到了这里,关于前端-layui动态渲染表格行列与复杂表头合并的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue+Element UI Table表格动态渲染表头内容及操作按钮

    循环表格头信息数组 封装操作组件并引入表格文件内 配置表头信息数组及添加操作事件

    2024年02月13日
    浏览(48)
  • layui学习笔记(三)关于layui渲染表格因权限判断需要动态隐藏列的研究

    TP6+Layuiadmin+apache+mysql+vscode学习研究layui前端技术 layui2.76版本,渲染的表格,因同一页面不同用户权限判断,所需要有不同的表格列来支持时,目前无法满足。 layui文档中有hide:true这一方法。 单独使用hide:true隐藏时是没问题的,但是这是个初始化隐藏,无法进行判断。 网上的

    2024年01月21日
    浏览(31)
  • 【前端】Layui动态数据表格拖动排序

    目的:使用Layui的数据表格,拖动行进行排序。 使用插件:layui-soul-table 和 Layui 1.layui-soul-table文档:https://soultable.yelog.org/#/zh-CN/component/start/install 2.layui文档:Layui table模块 | 数据表格 | datatable - 在线演示 结合Layui并参看layui-soul-table官方教程,写的比较详细页比较简单。 实现

    2024年02月10日
    浏览(31)
  • vue2/3 - 基于element(ui/plus)实现el-table表格每行可拖动换位置排序,表格列(表头)可拖动交换位置功能效果(table表格可拖曳排序的行和列,用鼠标动态拖拽排序表格行列)

    在vue2、vue3项目开发中,element饿了么组件库实现表格el-table组件支持【行和列可拖曳排序、换位置】功能,每行数据可拖拽进行排序调换位置,每列数据可以自由拖动进行调换位置。 提供详细示例代码,复制源码换个数据就能用了。

    2024年04月13日
    浏览(46)
  • 【vue导入导出Excel】vue简单实现导出和导入复杂表头excel表格功能【纯前端版本和配合后端版本】

    前言 这是一个常用的功能,就是导入和导出excel表格 但是时常会遇到一些复杂表头的表格导出和导入 比如我这个案例里面的三层表头的表格。 网上看了下发现了一个非常简单导出和导入方法 当然这个是纯前端的版本,会出现分页不好下载的情况。所以实际工作中,导出还是

    2024年02月11日
    浏览(45)
  • 前端框架Layui实现动态表格效果用户管理实例(对表格进行CRUD操作-附源码)

    目录 一、前言 1.什么是表格 2.表格的使用范围 二、案例实现 1.案例分析 ①根据需求找到文档源码 ②查询结果在实体中没有该属性 2.dao层编写 ①BaseDao工具类 ②UserDao编写 3.Servlet编写 ①R工具类的介绍 ②Useraction编写 4.jsp页面搭建 ①userManage.jsp  ②userEdit.jsp ③userManage.js ④us

    2024年02月16日
    浏览(36)
  • layui中渲染table表格

    可直接根据文档要求去写 table 组件(这个不重要) 重要的是去修改JS里面的东西,比如:code码、分页这些文档里是没有的 有帮助的点个赞赞 !!!

    2024年02月14日
    浏览(32)
  • layui表格合并的方法

    摘自文章: layui表格合并_忘记昵称了的博客-CSDN博客_layui 表格合并  摘自文章:layui表格行合并_destiny ~的博客-CSDN博客_layui导出excel合并单元格

    2024年02月13日
    浏览(30)
  • element-ui 表格(table)合并表头下面合并列且可以收缩展开

    百度了一大堆,发现了首行不能合并,想到了用dom做,找到了下面这个链接 1、表头合并 —— 给table添加属性:header-cell-style=\\\"headerStyle\\\",里面给首行设置跨行 element-ui表头合并 - ^Mao^ - 博客园 2、表内合并 —— 给table添加属性:span-method=\\\"arraySpanMethod\\\",里面设置合并 Element - The wor

    2024年02月16日
    浏览(41)
  • excel 动态表头与合并列

    零、希望Springboot-java导出excel文件,包括动态表头与下边合并的列 使用 org.apache.poi 与自己封装工具类实现相关功能。代码如下 一、代码 1、依赖 2、工具类 ExcelMergeUtil.java 3、实体对象 HeaderNode.java  和 PoiModel.java 4、下载Controller 5、下载service 三、下载 完事通过controller调用下

    2024年02月12日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包