• 【layui-table】转静态表格时固定表格列处理行高和单元格颜色


    处理思路:覆盖layui部分表格样式

    行高处理:获取当前行数据单元格的最高高度,将当前行所有数据单元格高度设置为该最高高度

    单元格颜色处理:将原生表格转换为layui表格后,因为原生表格的表格结构和生成的layui表格结构相等,所以在生成原生表格时先赋值单元格颜色,在通过脚本获取原生单元格颜色并覆盖对应索引下的layui表格单元格颜色样式

    样式覆盖

    1. .layui-table-body.layui-table-main .layui-table-cell {
    2. height: auto ;
    3. line-height: 28px;
    4. padding: 0 15px;
    5. position: relative;
    6. box-sizing: border-box;
    7. }
    8. .layui-table td, .layui-table-view .layui-table th {
    9. padding: 0px 0 !important;
    10. border-top: none;
    11. border-left: none;
    12. }

    HTML

    1. <div class="mt-20" style=" width: 1920px; overflow: auto; ">
    2. <table id="tableText" @*class="ui-usertable"*@ lay-filter="staticTable">
    3. <thead>
    4. <tr id="trr">
    5. tr>
    6. thead>
    7. <tbody id="tb">
    8. tbody>
    9. table>
    10. div>

    脚本处理

    1. table.init('staticTable', { //转化静态表格
    2. height: (pageType == 'detail' ? '150' : '710'),
    3. page: false,//禁用分页
    4. limit: 99999//当前页面数据数量
    5. });
    6. //处理表格高度:将固定列单元格高度按照记录信息修改
    7. $(".layui-table-body.layui-table-main ").find("tr").each(function (index, item) {
    8. let height = "0px"
    9. //获取数据表格中每行最高数据列单元格高度
    10. $(item).find(".layui-table-cell").each(function (index, item_td) {
    11. //console.log('height', $(item_td).css("height"))
    12. if (parseInt($(item_td).css("height").replaceAll("px", "")) > parseInt(height.replaceAll("px", ""))) {
    13. height = $(item_td).css("height")
    14. //console.log('height', height, $(item_td).css("height"))
    15. }
    16. });
    17. //将当前数据行所有单元格行高设置为最高单元格高度
    18. $(item).find(".layui-table-cell").each(function (index, item_td) {
    19. $(item_td).css("height", height)
    20. });
    21. //将固定列表格中每行单元格高度按照获取的高度修改
    22. $($($(".layui-table-fixed.layui-table-fixed-l .layui-table-body")
    23. .find("tr")[index]).find(".layui-table-cell"))
    24. .css("height", height)
    25. .css("line-height", height);
    26. })
    27. //处理单元格颜色
    28. //tb为原生表格tableBody内容
    29. $("#tb").find("td").each(function (index, item) {
    30. let backgroundColor = $(item).css("background-color")
    31. //console.log('backgroundColor', backgroundColor)
    32. $($(".layui-table-body.layui-table-main").find(".layui-table-cell")[index]).css("background-color", backgroundColor)
    33. })

  • 相关阅读:
    QT实现点击表格控件获取位置
    非关系型数据库---Redis安装与基本使用
    Jupyter Nbextensions插件
    ts学习笔记
    DNS欺骗实验过程和分析
    生命周期和作用域
    Docker consul
    计算机毕业设计Java校园社团管理系统(源码+系统+mysql数据库+Lw文档)
    消费品的「轻重」权衡术
    期末前端web大作业——名侦探柯南网页制作 Hbuiderx制作网页 静态HTML网页单页制作 dreamweaver网页设计与制作代码 web前端期末大作业
  • 原文地址:https://blog.csdn.net/MoFe1/article/details/137280207