Fastadmin固定表头

fastadmin 表头悬浮固定顶部 fastadmin 表头悬浮固定顶部 将下述代码放到模块控制器js中的index方法内: $(function(){ var sourceTable = $("#table");//table id var sourceTableHead = $("#table thead tr");//table thead tr id var headHeight = sourceTableHead.height();//table thead tr height //copy table and 阅读详情

public/assets/js/require-table.js文件中在如下位置添加如下代码

                // 固定列表头部(固定列表第一行)
                fixedheader: function ($table) {

                var $sourceTableHead = $table.find('thead tr');
                var $tableContainer = $table.parents('.fixed-table-container');


                // 固定表头 html
                var fixed_html = `
                    <div class="fixed-table-header-mg" style="display:none;">
                        <table class="fixed_table_header"  border="0" cellpadding="4" cellspacing="0" class="table table-hover">
                            <thead></thead>
                        </table>
                    </div>
                `
                $tableContainer.prepend(fixed_html);
                var $fixedTableHeaderMg = $tableContainer.find(".fixed-table-header-mg");
                var $fixedTableHeader = $tableContainer.find('.fixed-table-header-mg .fixed_table_header')

                // 设置固定表头样式
                $tableContainer.find('.fixed-table-header-mg').css({
                    'background-color': 'white',
                    'white-space': 'nowrap',
                    'overflow-x': 'scroll',
                    'overflow-y': 'hidden',
                });
                $fixedTableHeader.css('max-width', 'inherit')

                // 设置固定头部的宽度等于表格宽度
                var setFixedWidth = function () {
                    var sourceTableWidth = $table.outerWidth();
                    $fixedTableHeaderMg.css('width', $tableContainer.outerWidth() + 'px');
                    $fixedTableHeader.css('width', sourceTableWidth + "px");
                }
                setFixedWidth()
                setInterval(setFixedWidth, 1500);

                // 复制表头
                var targetHead = $sourceTableHead.clone();
                targetHead.appendTo($fixedTableHeader.find('thead'));

                // 同步复制的表头列宽
                var setFixedColsWidth = function () {
                    $("#table thead tr th").each(function (index, value) {
                        var tempWidth = $(value).width();
                        var tempHeight = $(value).height();
                        $fixedTableHeader.find('thead th').eq(index).css({
                            'width': (tempWidth + 2) + "px",
                            'height': tempHeight + "px"
                        })
                    });
                }
                setFixedColsWidth()
                setInterval(setFixedColsWidth, 1500);

                //处理左侧锁定
                var $fixedColumnsLeft = $tableContainer.find(".fixed-columns");
                if ($fixedColumnsLeft.length) {
                    // 元素存在
                    // console.log('元素宽', $fixedColumnsLeft.outerWidth() + 'px');
                    var fixed_html_ColumnsLeft = `
                        <div class="fixed-table-header-columns-left" style="display:none;">
                        </div>
                    `
                    $tableContainer.prepend(fixed_html_ColumnsLeft);

                    var $fixedTableColumnsLeft = $tableContainer.find(".fixed-table-header-columns-left");


                    // 同步复制的表头列宽
                    var setHeaderMg_left = function () {
                        // 设置样式
                        $tableContainer.find('.fixed-table-header-columns-left').css({
                            'background-color': 'white',
                            'width': $fixedColumnsLeft.outerWidth() + 'px',
                            'top': 0,
                            'left': '30px',
                            'z-index': 9999,
                            'overflow': 'hidden',
                        });
                        $fixedTableColumnsLeft.html($fixedTableHeaderMg.html());
                    }
                    setHeaderMg_left();
                    setInterval(setHeaderMg_left, 500);
                    var header_left = $fixedTableColumnsLeft[0];

                }
                //以上处理左侧锁定

                //处理右侧锁定
                var $fixedColumnsRight = $tableContainer.find(".fixed-columns-right");
                if ($fixedColumnsRight.length) {
                    // 元素存在
                    // console.log('元素宽', $fixedColumnsRight.outerWidth() + 'px');
                    var fixed_html_ColumnsRight = `
                        <div class="fixed-table-header-columns-right" style="display:none;">
                        </div>
                    `
                    $tableContainer.prepend(fixed_html_ColumnsRight);

                    var $fixedTableColumnsRight = $tableContainer.find(".fixed-table-header-columns-right");
                    // 同步复制的表头列宽
                    var setHeaderMg_right = function () {
                        // 设置样式
                        $tableContainer.find('.fixed-table-header-columns-right').css({
                            'background-color': 'white',
                            'width': $fixedColumnsRight.outerWidth() + 'px',
                            'top': 0,
                            'right': '30px',
                            'z-index': 9999,
                            'overflow': 'hidden',

                        });
                        //复制头部到右侧容器
                        $fixedTableColumnsRight.html($fixedTableHeaderMg.html());
                        //设置容器内表格的定位
                        $tableContainer.find('.fixed-table-header-columns-right').find('table').css({
                            'margin-left': '-' + ($fixedTableHeaderMg.find('table').outerWidth() - $fixedColumnsRight.outerWidth() - 0) + 'px',
                        });
                    }
                    setHeaderMg_right();
                    setInterval(setHeaderMg_right, 500);
                    var header_right = $fixedTableColumnsRight[0];

                }
                //以上处理左侧锁定
                // 窗口滚动监听,设置固定表头位置
                const header = $fixedTableHeaderMg[0];
                const tableBody = document.querySelector('.fixed-table-body');

                window.addEventListener('scroll', () => {
                    const tableBodyRect = tableBody.getBoundingClientRect();
                    // 检查表格是否在视窗内
                    if (tableBodyRect.top < 0 && tableBodyRect.bottom > 0) {
                        // 设置表头的固定位置
                        header.style.position = 'fixed';
                        header.style.top = 0;
                        header.style.left = tableBodyRect.left + 'px';
                        header.style.display = 'block';
                        if ($fixedColumnsLeft.length) {
                            header_left.style.position = 'fixed';
                            header_left.style.display = 'block';
                        }

                        if (header_right) {
                            header_right.style.position = 'fixed';
                            header_right.style.display = 'block';
                        }


                    } else {
                        // 隐藏表头
                        header.style.display = 'none';
                        if ($fixedColumnsLeft.length) {
                            header_left.style.display = 'none';
                        }

                        if ($fixedColumnsRight.length) {
                            header_right.style.display = 'none';
                        }

                    }
                });

                // 处理表格和固定表头的横向同步滚动
                tableBody.addEventListener('scroll', function () {
                    header.scrollLeft = tableBody.scrollLeft;
                });
                header.addEventListener('scroll', function () {
                    tableBody.scrollLeft = header.scrollLeft;
                });

                // 固定表头全选按钮事件
                $fixedTableHeader.find("input[name='btSelectAll']").click(function () {
                    if ($(this).is(":checked")) {
                        $("input[name='btSelectItem']").prop("checked", "checked");
                    } else {
                        $("input[name='btSelectItem']").prop("checked", false);
                    }
                });
            }

在需要固定表头的js中如下位置引用

// 固定列表头部(固定列表第一行)
Table.api.fixedheader(table);

在需要固定表头的index.html中添加css代码 防止表格内容遮盖表头

<style>
    .fixed-table-header-mg,
    .fixed-table-header-columns-left,
    .fixed-table-header-columns-right {
        z-index: 99;
    }
</style>

最后生产环境下运行一键压缩打包前台和后台的JS:

php think min -m all -r js

用轻量云服务器部署一个超多人在用的php框架 FastAdmin是一款基于ThinkPHP 5.1和Bootstrap 4的极速后台开发框架。它不仅提供了丰富的内置功能,还支持强大的插件扩展,使得开发者可以快速构建复杂的后台管理系统。基于Auth验证的权限管理系统:支持无限级父子级权限继承,父级管理员可以任意增删改子级管理员及权限设置。支持单管理员多角色:一个管理员可以拥有多个角色,灵活分配权限。支持管理子级数据或个人数据:管理员可以管理自己的数据,也可以管理子级管理员的数据。强大的一键生成功能。 阅读详情

相关推荐

锁定表头和固定列(Fixed table head and columns)

经典案例( 锁定表头和固定列(Fixed table head and columns)

fastadmin框架后台列表固定第一行列表固定头部

fastadmin固定列表第一行|fastadmin框架固定头部|fastadmin冻结第一行

LordForce的博客 1013

bootstrap-table-fixed-columns.zip

fastadmin 表格添加固定表头 bootstrap-table-fixed-columns所需插件

FastAdmin Bootstrap-Table 增加固定表头功能

在 FastAdmin 中使用 Bootstrap-Table 进行表格展示,可以通过在require-table.js文件Table.api中的增加fixedheader方法实现固定表头的功能

qq_38316379的博客 2554

bootstrap-table-冻结列样例

bootstrap-table-冻结列样例,bootstrap-table-冻结列样例,bootstrap-table-冻结列样例,

RK3588上rknn_toolkit_lite2报错解决:手把手教你更新librknnrt.so的正确姿势

本文针对在RK3588平台上使用rknn_toolkit_lite2时遇到的“Invalid RKNN model version”等常见错误,提供了完整的诊断与解决方案。文章深入剖析了RKNN生态系统各组件(如librknnrt.so、RKNN Server)版本不兼容的根源,并手把手指导如何安全、正确地更新librknnrt.so运行时库,确保AI模型在RK3588 NPU上实现高效推理。

weixin_29189003的博客 520

FastAdmin增加bootstrap-table-fixed-columns冻结表头,及完善排序、列宽、合并行等问题

使用FastAdmin快速创建应用管理系统有一段时间了,不得不说在一些中小型应用领域使用起来非常快捷、有效和实用,对于一些需要前期快速验证的项目也会是很好的选择。闲言少叙,以下总结最近一个表格前端效果的实战经验。 FastAdmin使用bootstrap-table作为前端表格的基础组件库,通常列表交互展示已经够用了,包括通用搜索、排序、分页、导出、合并相同行/列等等。最近需要对表头进行冻结,找...

穿拖鞋写程序 4949

避开集成插件!手把手教你用URL登录实现Finereport与致远OA的无缝跳转

本文详细介绍了如何通过URL登录机制实现Finereport与致远OA的无缝跳转,无需复杂插件配置。文章涵盖用户体系同步、环境配置、URL登录核心设置及安全加固方案,特别适合企业数字化转型中BI工具与OA系统的轻量化集成需求。

weixin_29215815的博客 74

fastadmin框架后台表格列表固定头部-兼容左右侧固定

在列表中,如果列表字段很多,并且每页数量很多,往下拉的时候就不好辨别数据是哪个字段的,对用户造成不好的浏览体验。

u010075963的博客 1695

RS422总线

①.RS422发送驱动器无高阻三态(浮空)状态RS422收发芯片,发送脚固定强驱动输出,永远钳位 A/B 差分电平,不能关断、不能悬空,只要芯片上电,TX+、TX - 就强制输出互补电压(一路高、一路低)。多条发送并联在同一组差分线上:两个驱动器一个拉 A 高、一个拉 A 低,B 线反向拉扯 → 电源→地大电流对灌,瞬间芯片过流发烫烧毁、总线电平短路错乱。注意:RS485 带DE/RE 收发使能脚:不用发送时可关闭驱动器,输出变成高阻浮空,让出总线,因此能多节点分时发送。③.多点通信方式,一主多从方式;

zhuimeng_1234的博客 222

Python爬取腾讯视频m3u8加密流实战(附完整代码)

本文提供了一份详细的Python实战教程,指导如何通过抓包分析、模拟请求头与载荷,破解腾讯视频的m3u8加密流防盗链机制,并附上完整代码实现视频片段的下载与合并。教程涵盖从侦察到代码实现的完整流程,并包含参数动态化、多线程下载等高级技巧与避坑指南,旨在帮助开发者掌握流媒体下载的核心技术。

weixin_29090089的博客 1598

FastAdmin新手教程

FastAdmin是一款基于ThinkPHP和Bootstrap的快速开发框架,具有完善的权限管理系统和强大的代码生成功能。框架支持一键生成CRUD、API文档,内置丰富的UI组件和插件扩展机制,可快速开发CMS、商城等系统。技术栈采用ThinkPHP5、Bootstrap、jQuery等主流技术,目录结构清晰规范。虽然当前版本最高支持PHP7.4,但可通过改造或等待新版实现对PHP8的支持。该框架适合需要快速搭建后台管理系统的开发者,并提供丰富的插件市场满足各类业务需求。

小川搞开发的博客 1049

第三章:ESP32零基础教学 - 3.4 蓝牙通信

本文详细介绍了如何在ESP32上实现经典蓝牙和BLE通信,并提供了代码解释和示例。通过这些示例,你可以轻松地将蓝牙功能集成到你的物联网项目中。无论是经典蓝牙的简单串口通信,还是BLE的灵活服务架构,ESP32都能满足你的需求。

Hi__gril的博客 4018

FastAdmin: 一款基于ThinkPHP+Bootstrap的极速后台开发框架(Gitee最有价值开源项目)

随着Web技术的快速发展,后台管理系统的开发效率与灵活性成为了项目成功的关键。FastAdmin作为一款基于ThinkPHP和Bootstrap的开源后台框架,凭借其一键生成CRUD、强大的权限管理以及丰富的插件生态,成为众多开发者的首选。本文旨在深入探讨FastAdmin的技术特点、应用实践及其在行业中的价值。一、引言随着互联网的深入发展,后台管理系统在Web应用中的作用日益凸显。快速、稳定、易扩展的后台框架成为开发者追求的目标。

chenchuang0128的博客 2977

从零构建简历智能匹配系统:AI技术助力高效招聘

本文详细介绍了简历智能匹配系统的开发过程,从数据收集、预处理、特征提取到模型匹配和结果展示,每一步都提供了详细的代码实例。通过使用TF-IDF、Word2Vec和BERT等技术,我们能够有效地将求职者的简历与职位描述进行匹配,从而提高招聘效率。未来,随着自然语言处理技术的进一步发展,简历智能匹配系统将变得更加智能和高效,为企业和求职者提供更好的服务。

理论都是虚的,代码才是王道。 309

【ESD专题】从原理上分析TVS管PCB Layout的经验法则

我们常常会听到的一些经验法则,按这些经验法则去做,一般也不会有什么问题,但是到底是为什么呢? 没有从原理上分析和证明的时候,往往在Layout之后还要担心实际测试结果怎么样。或是在实际测试出问题后,根本无法进行分析,难道说修改一个版本就好了?那要从哪里修改呢?也无从下手呀。...

一点硬件 1446

固定表头带滚动条的HTML表格

转载地址:http://blog.youkuaiyun.com/daryl715/article/details/1883677                                     商场本月销售统计表                                     商品名              上旬

踏歌行的专栏 748

1.4 KFD 设备文件的获取与驱动握手协议

本文分析了OpenClose模块中libhsakmt与KFD内核驱动建立通信的过程。首先通过hsaKmtOpenKFD()函数打开/dev/kfd设备文件,建立用户态与内核态的通信通道。随后通过AMDKFD_IOC_GET_VERSION ioctl命令完成版本握手,确认双方的接口兼容性。KFD驱动采用Major.Minor二级版本号体系,当前主要版本为1,从1.1演进到1.19不断添加新功能。整个过程构成了用户态与内核态之间的"建连协议",是所有后续GPU操作的基础前提。

图形/计算GPU的驱动与虚拟化技术分享园地 602

bootstrap-table在设置高度固定表头后,表头与表内容不对齐情况

在使用bootstrap-table时,如果想要实现表头固定,就要设置高度属性,但是设置高度属性后会导致表头和表内容错位 1.设置高度: 2.表头固定但是表头和表内容错误 查了很久,发现是因为设置高度后新生成了一个表头,与之前的表头的宽度不一致,所以将新生成的表头的宽度设置为整数,将表内容也设置成整数即可 3.设置宽度 4.效果,表头和表内容对齐 注意: 高度设置可以用方法动态设置 fun...

qq_43121828的博客 7917

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

fastadmin固定表格某一列的方法

1.2.0之前的操作方法 一. 其他插件,这边只是提供一个修改方法 灵活固定 1.插件fixed-table-body-columns,插件地址 链接: https://pan.baidu.com/s/1P5gyATOHI5bRkgvjL234EQ 密码: ufvs 2.取出里边的两个文件 3.将文件放入项目中 4.将插件引入文件require-backend.js中 'bootstrap-table-fixed-columns': { deps: ['bootstrap-table','c

栈外手记|2018 年起深耕后端开发。跳出代码栈,分享技术、项目踩坑与行业思考,看见技术之外更多可能。 3061

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

fastadmin table固定表格某一列

记录:fastadmin table固定表格操作栏 table属性: fixedColumns: true, fixedRightNumber: 1, 示例: define(['jquery', 'bootstrap', 'backend', 'table', 'form','template','litestoregoods'], function ($, undefined, Backend, Table, Form,Template,litestoregoods) { var Contro

Light 1976

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Bootstrap-table固定表头并美化表头

Bootstrap Table固定表头并美化表头

会写Bug的攻城狮 5957

纯CSS实现Table固定表头和首列

HTML结构上,必须将 放在 子节点,且内部不要有其他 position 设置。Table固定表头和首列这种需求应该比较常见。以往的做法,需要写一大堆脚本,而现在,可以使用position:sticky轻松实现这个效果。

Ghjkku的博客 8万+

table固定表头

设置table表头固定

bluelotos893的博客 8136

实现固定表头的三种方法

实现原理:原生方法-具有 sticky 属性的元素,会固定在离它最近的一个拥有 滚动机制 的祖先元素上,达到固定表头的效果。监听页面滚动事件,计算table的位移,使用translate3d反向设置表头的y轴位移值,达到固定表头的效果。实现原理:表头一个表格,表体一个表格,移动时候,移动的是表体,达到固定表头的效果。第一种:html中的table标签原生方法。第二种:element-ui采用的多表格。第三种:Ange-ui采用的。

SanOrintea的博客 3390

Fastadmin 选择下拉框

数据库 index.html model 控制器 JS add.html edit.html

withoutfear的博客 1万+
上一篇: Fastadmin报错Unknown column ‘xxx.deletetime‘ in ‘where clause
下一篇: Redis缓存击穿七层防御体系:构建坚不可摧的缓存护甲(PHP版实例)
withoutfear
博客等级 码龄13年 541粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

withoutfear

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值