当前位置: 首页 > news >正文

前端-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 表示第二个数组需要合并的表格个数;

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


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

http://www.lryc.cn/news/167651.html

相关文章:

  • IDM(Internet Download Manager)下载器2024最新版本如何下载?
  • 前端综合练手小项目
  • 接口优化1
  • 【无公网IP内网穿透】 搭建Emby媒体库服务器并远程访问「家庭私人影院」
  • QML android 采集手机传感器数据 并通过udp 发送
  • stableDiffusion安装
  • QT基础教程(QPushButton及信号与槽)
  • Android 实战项目分享(一)用Android Studio绘制贝塞尔曲线的艺术之旅
  • Windows系统关机后自动重启的解决方法
  • 微服务如何改变软件开发:实战经验与最佳实践分享
  • 安装深度(Deepin)系统
  • Leetcode: 645.错误的集合 题解【超详细】
  • 闲鱼自动化软件——筛选/发送系统 V22已经测试完毕
  • 数学建模__动态规划
  • 【IoT】生产制造:锅仔片上机做 SMT 加工吗?
  • Stable Diffusion代码简介
  • 操作系统的运行机制
  • 分布式事务解决方案之2PC
  • 发现某设备 adb shell ps 没有输出完整信息
  • qt模拟鼠标事件
  • Linux运维基础知识大全
  • 西门子S7-1200F或1500F系列安全PLC的组态步骤和基础编程(一)
  • 负载均衡-ribbon源码解析
  • SideBar 侧边导航与内容区域交互重写【Ant Design Mobile】
  • JavaEE初阶(5)多线程案例(定时器、标准库中的定时器、实现定时器、线程池、标准库中的线程池、实现线程池)
  • SpringCLoud——Nacos配置中心
  • 05目标检测-区域推荐(Anchor机制详解)
  • SpringBoot如何保证接口安全?
  • 构建可扩展的应用:六边形架构详解与实践
  • error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 解决方案