layui数据表格固定头部和第一列、colspan合并列

刚看到原型图的时候,纳尼?不是跟我开玩笑吧,小女子资历尚浅,还真没做过像这样的功能,然后就是各种找度娘,可是都没有找到合适的,很多都是行合并,真的是头疼呀!再纠结是用VUE实现还是用layui实现好,在最后挣扎下,还是选择了用layui。最后加上从各大神的demo中得到的灵感。在这里记录一下,希望可以帮助到有需要的人啦~

移动端展示效果如下:

 1 <script>
 2
 3 layui.use(‘table‘, function(){
 4 var table = layui.table;
 5 //第一个实例
 6 table.render({
 7 elem: ‘#demo‘
 8 ,height:document.body.offsetHeight
 9 ,url: ‘./workStatu.json‘ //数据接口
10 ,cols: [[ //表头
11 {field: ‘name‘, title: ‘第13周‘, width:100,fixed: ‘left‘,align:‘center‘}
12 ,{field: ‘vlcc‘, title: ‘周一(3月25日)‘, width:115,align:‘center‘}
13 ,{field: ‘suezmax‘, title: ‘周一(3月25日)‘, width:115,align:‘center‘}
14 ,{field: ‘aframax‘, title: ‘周一(3月25日)‘, width:115,align:‘center‘}
15 ,{field: ‘panamax‘, title: ‘周一(3月25日)‘, width:119,align:‘center‘}
16 ,{field: ‘crudeoilmr‘, title: ‘周一(3月25日)‘, width:115,align:‘center‘}
17 ]]
18 ,done:function(res,curr,count){
19 colSpan()
20 }
21 });
22 });
23
24
25
26 function colSpan(){
27 var tab = document.querySelector("div .layui-table-main .layui-table");//获取目标tabel
28 var maxRow = 6, val, count, start;
29 count = 1;
30 val = "";
31 for(var i = 0;i<tab.rows.length;i++){ //遍历所有行
32 for(var col = maxRow - 1; col >= 1; col--){ //遍历每一行的每一个td
33 if(val == tab.rows[i].cells[col].innerText){ //判断前一个td和后一个td是否相同
34 if(tab.rows[i].cells[col].innerText.length>=4){ //判断td的值的长度是否大于4,因为这里的需求是长度大于4有相同的才合并
35 count++;
36 tab.rows[i].cells[col].colSpan = count;
37 for(var j = 1;j<count;j++){
38 tab.rows[i].cells[j+col].style.display = "none";//相邻的有相同的值,第一个设置colspan,后面的影藏
39 }
40 }
41 }else{
42 if(count>1){
43 count = 1;
44 }
45 val = tab.rows[i].cells[col].innerText;
46 }
47 }
48 }
49 }
50
51 </script>

原文地址:https://www.cnblogs.com/zyfenblog/p/11098486.html

时间: 2024-08-01 07:13:23

layui数据表格固定头部和第一列、colspan合并列的相关文章

table 表格固定表头和第一列、内容可滚动

整理了下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <meta charset="utf-8" /> <style type="text/css"&

[Javascript] 动态隐藏和显示 Layui 数据表格的列

需求: 设置一个按钮,动态隐藏或展示数据表格的列.默认隐藏部分列,点击按钮进行显示,再次点击就隐藏. 基于 layui 的数据表格. 代码: 绑定按钮事件. 这里需要设置的列比较多,表格字段名格式:d1_roi.d1_ltv.d2_roi.d2_ltv... 原理:先清除每列的 layui-hide 的 class,然后给当前列每个格子加上固定宽度即可. 1 //拓展列切换 2 $(".js-showhide").click(function(){ 3 var roi_key = ''

关于layui数据表格重载传值的问题

在工作的时候用到了layui的数据表格,需要实现一个重载功能,是搜索框模糊查询的功能,官方示例的文档(官方链接:https://www.layui.com/demo/table/reload.html) 上说的是 传值需要放到一个key:{}里,反复测试这样是不对的,应该去掉外层key:{},直接写where:{id:demoReload.val()},这样后台直接request.getparameter("id")就可以拿到值了. 不知道为什么贤心大神不更正一下这个地方的坑 原文地址

layui 数据表格使用

//第一个实例 table.render({ elem: '#demo' ,height: 400 ,url: '/My_NewsTest/LookServlet' //数据接口 ,page: true //开启分页 ,limit:5 ,limits:[3,6,10] ,page:true ,parseData: function(res){ //res 即为原始返回的数据 return { "code":0, //解析接口状态 "msg":""

Layui数据表格/搜索重加载/分条件操作/工具条监听

<div class="layui-layout layui-layout-admin" style="padding-left: 20px;"> <div class="layui-row" style="margin-top: 20px;"> //搜索开始 <form class="layui-form" action="" onsubmit="

layui数据表格分页加载动画,自己定义加载动画,&quot;加载中...&quot;

记录思路,仅供参考 在表格渲染完成后,在done回调函数中给分页动态加点击事件, 关闭"加载中..."动画也是在 done回调函数中关闭 这是我实现的思路,记录给大家参考. , done: function (res, curr, count) { // 添加分页加载动画的函数 $('.layui-laypage > a').each(function(){ $(this).attr('onclick',"pageLoading(this)"); }) top

layui数据表格监听按钮问题

layui官网文档源码 原始容器 <table id="demo" lay-filter="test"></table> 工具栏模板: <script type="text/html" id="toolbarDemo"> <div class="layui-btn-container"> <button class="layui-btn lay

layui数据表格的td模板

1.常用操作模板 <script type="text/html" id="userbar"> <a class="layui-btn layui-btn-xs" lay-event="detail">查看</a> <a class="layui-btn layui-btn-xs" lay-event="change">修改</a&g

layui数据表格中图片无法自适应问题

如图问题,图片只显示了一部分 这时只需要加入样式即可 <style> .layui-table-cell { height: 100px; width: 100px; max-width: 100%; } </style> 高低大小根据实际自行调节 原文地址:https://www.cnblogs.com/wmc1125/p/11391217.html