news 2026/6/9 14:00:13

jQuery EasyUI 数据网格 - 设置冻结列

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
jQuery EasyUI 数据网格 - 设置冻结列

jQuery EasyUI 数据网格 - 设置冻结列(Frozen Columns)

冻结列(Frozen Columns)是datagrid的重要功能,它允许将左侧的部分列“冻结”,在水平滚动表格时这些列始终固定显示,不随内容滚动。非常适合数据列较多时,让关键字段(如 ID、姓名、操作列)始终可见。

EasyUI 通过frozenColumns属性定义冻结列,其余列放在columns中。

官方参考:

  • 教程:https://www.jeasyui.com/tutorial/datagrid/datagrid2.php
  • 在线 Demo:https://www.jeasyui.com/demo/main/index.php?plugin=DataGrid&pitem=Frozen+Columns
步骤 1: 引入 EasyUI 资源
<linkrel="stylesheet"type="text/css"href="https://www.jeasyui.com/easyui/themes/default/easyui.css"><linkrel="stylesheet"type="text/css"href="https://www.jeasyui.com/easyui/themes/icon.css"><scripttype="text/javascript"src="https://code.jquery.com/jquery-1.12.4.min.js"></script><scripttype="text/javascript"src="https://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
步骤 2: 创建带冻结列的 DataGrid
<tableid="dg"class="easyui-datagrid"title="用户管理(冻结列示例)"style="width:900px;height:500px"data-options="url:'get_users.php',fitColumns:false,pagination:true,rownumbers:true,singleSelect:true"><!-- 冻结列:始终固定在左侧 --><theaddata-options="frozen:true"><tr><thdata-options="field:'id',width:80,align:'center'">ID</th><thdata-options="field:'username',width:120">用户名</th><thdata-options="field:'name',width:100">姓名</th><thdata-options="field:'action',width:120,align:'center',formatter:actionFormatter">操作</th></tr></thead><!-- 可滚动列:水平滚动时移动 --><thead><tr><thdata-options="field:'email',width:200">邮箱</th><thdata-options="field:'phone',width:120">电话</th><thdata-options="field:'address',width:200">地址</th><thdata-options="field:'regdate',width:100,align:'center'">注册日期</th><thdata-options="field:'lastlogin',width:150">最后登录</th><thdata-options="field:'status',width:80,align:'center',formatter:statusFormatter">状态</th><thdata-options="field:'remark',width:200">备注</th></tr></thead></table>
步骤 3: 添加格式化函数(可选,提升可读性)
<scripttype="text/javascript">// 操作列格式化functionactionFormatter(value,row,index){return'<a href="javascript:editUser('+row.id+')" class="easyui-linkbutton" iconCls="icon-edit">编辑</a> '+'<a href="javascript:deleteUser('+row.id+')" class="easyui-linkbutton" iconCls="icon-remove">删除</a>';}// 状态格式化functionstatusFormatter(value){if(value==1){return'<span style="color:green;">启用</span>';}else{return'<span style="color:red;">禁用</span>';}}// 示例操作函数functioneditUser(id){$.messager.alert('编辑','编辑用户 ID: '+id);}functiondeleteUser(id){$.messager.confirm('确认','确定删除 ID 为 '+id+' 的用户吗?',function(r){if(r){$.messager.show({title:'成功',msg:'删除成功'});}});}</script>
关键说明
  • frozen:true:在<thead><tableid="dg"class="easyui-datagrid"style="width:900px;height:500px"data-options="url:'get_users.php', pagination:true, rownumbers:true, singleSelect:true, fitColumns:false"><!-- 冻结列 --><theadfrozenColumns="[[ {field:'id',title:'ID',width:80,align:'center'}, {field:'username',title:'用户名',width:120}, {field:'name',title:'姓名',width:100}, {field:'action',title:'操作',width:120,align:'center',formatter:actionFormatter} ]]"></thead><!-- 可滚动列 --><theadcolumns="[[ {field:'email',title:'邮箱',width:200}, {field:'phone',title:'电话',width:120}, {field:'address',title:'地址',width:200}, {field:'regdate',title:'注册日期',width:100}, {field:'lastlogin',title:'最后登录',width:150}, {field:'status',title:'状态',width:80,align:'center',formatter:statusFormatter}, {field:'remark',title:'备注',width:200} ]]"></thead></table>
    注意事项
    • fitColumns:true与冻结列不推荐一起使用,因为会打乱冻结效果。建议设为false,手动控制宽度。
    • 冻结列通常放复选框、ID、姓名、操作等关键列。
    • 支持多行冻结列(frozenColumns为二维数组)。
    • 冻结列和普通列的行高自动对齐
    完整效果
    • 左侧 ID、用户名、姓名、操作列始终固定。
    • 右侧长表格内容可水平滚动,而冻结列不动。
    • 操作按钮始终可见,便于快速编辑/删除。

    更多示例:

    • 官方冻结列:https://www.jeasyui.com/tutorial/datagrid/datagrid2.php
    • 多冻结列 + 工具栏:https://www.jeasyui.com/demo/main/index.php?plugin=DataGrid&pitem=Frozen+Columns

    如果需要冻结行(固定表头,已默认支持)、冻结列 + 行内编辑、或冻结列包含复选框的完整示例,请继续提问!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 19:16:45

jQuery EasyUI 数据网格 - 动态改变列

jQuery EasyUI 数据网格 - 动态改变列 datagrid 支持在运行时动态显示/隐藏列、添加新列、移除列、改变列标题/宽度/对齐方式等操作。这在实际应用中非常实用&#xff0c;例如&#xff1a; 用户个性化表格视图&#xff08;选择显示哪些列&#xff09;根据权限动态隐藏敏感列切…

作者头像 李华
网站建设 2026/6/8 5:42:00

EmotiVoice项目GitHub爆火背后的原因分析

EmotiVoice项目GitHub爆火背后的原因分析 在智能语音内容爆发的今天&#xff0c;我们早已不满足于“机器能说话”这种基础能力。无论是短视频里的虚拟主播、游戏中的角色对话&#xff0c;还是车载助手的一句提醒&#xff0c;用户期待的是有情绪、有个性、像真人一样的声音表达。…

作者头像 李华
网站建设 2026/6/9 9:15:50

《管理世界》地级市常态化财会监督改革试点DID2012-2024

2015《管理世界》地级市常态化财会监督改革试点DID2012-2024数据简介自2020年12月起&#xff0c;中央展开了开展了财汇监督的力度并选取了11个地区作为改革试点的对象。该改革有效增强了企业的监管力度并且有效检测会计实务所的审查机制&#xff0c;对于企业经营守则意识形成唤…

作者头像 李华
网站建设 2026/6/6 20:52:40

2026毕设ssm+vue基于框架的房屋租赁系统论文+程序

本系统&#xff08;程序源码&#xff09;带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、选题背景 关于“动漫社群 Web 系统构建”问题的研究&#xff0c;现有研究主要以纯前端展示或微信小程序为主&#xff0c;专门针对“SSM…

作者头像 李华
网站建设 2026/6/7 9:20:37

jQuery EasyUI 布局 - 在面板中创建复杂布局

jQuery EasyUI 布局 - 在面板中创建复杂布局 jQuery EasyUI 支持布局的嵌套&#xff08;nested layout&#xff09;&#xff0c;允许在 panel&#xff08;面板&#xff09;或其他区域内放置另一个 easyui-layout&#xff0c;从而构建非常复杂的界面布局。这种方式常用于创建自…

作者头像 李华
网站建设 2026/6/7 18:30:21

开源TTS模型选型指南:为何EmotiVoice脱颖而出?

开源TTS模型选型指南&#xff1a;为何EmotiVoice脱颖而出&#xff1f; 在智能语音技术飞速发展的今天&#xff0c;我们早已不满足于“能说话”的AI。从车载助手到虚拟偶像&#xff0c;用户期待的是有情绪、有个性、像真人一样的声音。然而&#xff0c;大多数开源文本转语音&…

作者头像 李华