jQuery EasyUI 数据网格 - 格式化列

jQuery EasyUI 数据网格 - 格式化列(Column Formatter)

添加链接描述datagridformatter属性是最强大、最常用的功能之一,它允许你自定义每一列的显示内容。可以返回 HTML 字符串,从而实现:

  • 状态颜色显示(如启用绿色、禁用红色)
  • 操作按钮(编辑、删除、查看)
  • 图片显示
  • 进度条、星级评分
  • 组合多个字段显示
  • 链接、图标等富文本

官方参考:

  • 教程:https://www.jeasyui.com/tutorial/datagrid/datagrid3.php
  • 在线 Demo:https://www.jeasyui.com/demo/main/index.php?plugin=DataGrid&pitem=Formatter
步骤 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:true,pagination:true,rownumbers:true,singleSelect:true"><thead><tr><thfield="id"width="80">ID</th><thfield="username"width="100">用户名</th><thfield="name"width="100">姓名</th><thfield="email"width="180">邮箱</th><thfield="status"width="80"align="center"formatter="formatStatus">状态</th><thfield="regdate"width="100"formatter="formatDate">注册日期</th><thfield="score"width="100"formatter="formatScore">评分</th><thfield="avatar"width="80"formatter="formatAvatar">头像</th><thfield="action"width="150"align="center"formatter="formatAction">操作</th></tr></thead></table>
步骤 3: 定义各种格式化函数
<scripttype="text/javascript">// 1. 状态格式化(颜色文本)functionformatStatus(value,row,index){if(value==1){return'<span style="color:green;font-weight:bold;">启用</span>';}elseif(value==0){return'<span style="color:red;">禁用</span>';}else{return'<span style="color:gray;">未知</span>';}}// 2. 日期格式化functionformatDate(value,row,index){if(!value)return'';vardate=newDate(value);returndate.getFullYear()+'-'+('0'+(date.getMonth()+1)).slice(-2)+'-'+('0'+date.getDate()).slice(-2);}// 3. 评分格式化(星级)functionformatScore(value,row,index){varstars='';for(vari=1;i<=5;i++){if(i<=value){stars+='★';// 实心星}else{stars+='☆';// 空心星}}return'<span style="color:#ff9800;font-size:16px;">'+stars+'</span> ('+value+')';}// 4. 头像格式化(显示图片)functionformatAvatar(value,row,index){if(value){return'<img src="'+value+'" style="width:40px;height:40px;border-radius:50%;">';}else{return'<img src="default_avatar.jpg" style="width:40px;height:40px;border-radius:50%;">';}}// 5. 操作列格式化(按钮)functionformatAction(value,row,index){return'<a href="javascript:viewUser('+row.id+')" class="easyui-linkbutton" iconCls="icon-search" plain="true">查看</a> '+'<a href="javascript:editUser('+row.id+')" class="easyui-linkbutton" iconCls="icon-edit" plain="true">编辑</a> '+'<a href="javascript:deleteUser('+row.id+')" class="easyui-linkbutton" iconCls="icon-remove" plain="true">删除</a>';}// 操作函数示例functionviewUser(id){$.messager.alert('查看','查看用户详情 ID: '+id);}functioneditUser(id){$.messager.alert('编辑','打开编辑窗口 ID: '+id);}functiondeleteUser(id){$.messager.confirm('确认','确定删除 ID 为 '+id+' 的用户吗?',function(r){if(r){$('#dg').datagrid('reload');$.messager.show({title:'成功',msg:'删除成功'});}});}// 页面加载后解析按钮(重要!)$(function(){// 让格式化后的 linkbutton 生效$.parser.parse('#dg');});</script>
关键说明
  • formatter 函数签名function(value, row, index)
    • value:当前单元格的值
    • row:整行数据对象(最常用,可访问其他字段)
    • index:行索引
  • 返回 HTML:可以返回任意 HTML 字符串,包括<span><img><a>等。
  • 按钮生效:如果返回easyui-linkbutton,必须在加载后调用$.parser.parse()解析,否则只是普通链接。
  • 性能:formatter 在每行渲染时调用,避免复杂逻辑。
高级格式化示例
// 组合字段显示functionformatInfo(value,row,index){return'用户:'+row.name+'<br>邮箱:'+row.email+'<br>电话:'+row.phone;}// 进度条functionformatProgress(value,row,index){return'<div style="width:100%;background:#f0f0f0;border-radius:4px;">'+'<div style="width:'+value+'%;background:#4caf50;height:18px;border-radius:4px;text-align:center;color:white;">'+value+'%'+'</div></div>';}
完整效果
  • 状态列显示彩色文字。
  • 日期自动格式化。
  • 评分显示金色五星。
  • 头像显示圆形图片。
  • 操作列显示三个可点击的图标按钮。

更多示例:

  • 官方格式化列:https://www.jeasyui.com/tutorial/datagrid/datagrid3.php
  • 复杂格式化 Demo:https://www.jeasyui.com/demo/main/index.php?plugin=DataGrid&pitem=Formatter

如果需要条件格式化(如根据值变色)、编辑器结合格式化自定义 tooltip格式化冻结列,请继续提问!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1030295.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

提示工程架构师进阶:Agentic AI创新应用的高级案例分析

提示工程架构师进阶&#xff1a;Agentic AI创新应用的高级案例分析 一、引言&#xff1a;从“生成式热闹”到“行动式落地”的痛点与破局 你是否见过这样的Agentic AI项目&#xff1f; 看似能自动处理任务&#xff0c;实际却在复杂场景下频繁“卡壳”——要么误解用户意图&…

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

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

jQuery EasyUI 布局 - 创建折叠面板

jQuery EasyUI 布局 - 创建折叠面板&#xff08;Accordion&#xff09; jQuery EasyUI 的 accordion 组件是一种经典的折叠面板&#xff08;collapsible panels&#xff09;&#xff0c;它允许将多个面板垂直&#xff08;或水平&#xff09;堆叠。所有面板的标题始终可见&…

语音合成个性化推荐系统:基于用户偏好选择音色

语音合成个性化推荐系统&#xff1a;基于用户偏好选择音色 在智能语音助手越来越频繁地进入我们生活的今天&#xff0c;你是否曾希望它说话的声音更像某个熟悉的人&#xff1f;或者在听有声书时&#xff0c;期待讲述者能带着一丝温柔或激情的情绪娓娓道来&#xff1f;传统的文本…

jQuery EasyUI 布局 - 创建标签页(Tabs)

jQuery EasyUI 布局 - 创建标签页&#xff08;Tabs&#xff09; jQuery EasyUI 的 tabs 组件是一个多标签页&#xff08;tabbed panels&#xff09;容器&#xff0c;用于在有限空间内显示多个内容面板。用户可以通过点击标题切换面板&#xff0c;常用于后台管理系统的页面切换…

2026毕设ssm+vue基于框架的宿舍管理系统论文+程序

本系统&#xff08;程序源码&#xff09;带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、选题背景随着高校学生人数的不断增加&#xff0c;宿舍管理工作日益复杂&#xff0c;传统的人工管理方式已难以满足现代化、信息化管理的…

Cursor Rule:AI如何革新代码导航与智能提示

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个基于Cursor Rule的智能代码导航插件&#xff0c;要求&#xff1a;1. 支持通过自然语言描述跳转到指定代码段&#xff08;如跳转到用户登录验证逻辑&#xff09;2. 根据当前…

多模态特征强行拼接崩了 补交叉注意力才稳住肺癌诊断模型

&#x1f4dd; 博客主页&#xff1a;jaxzheng的CSDN主页 目录医疗数据科学&#xff1a;当Excel遇上CT片 一、政策推动下数据共享有点像"快递站" 二、AI辅助诊断&#xff1a;从"看病"到"看数据" 三、慢性病管理&#xff1a;糖尿病人的"数据健…

EmotiVoice实战指南:如何在项目中集成高表现力TTS

EmotiVoice实战指南&#xff1a;如何在项目中集成高表现力TTS 在智能语音助手越来越“懂人心”的今天&#xff0c;用户早已不再满足于机械地播报天气或读出短信。他们希望听到的是一句带着关切语气的“你今天过得怎么样&#xff1f;”&#xff0c;是一个游戏角色在危急时刻流露…

EmotiVoice语音合成中的韵律建模关键技术解析

EmotiVoice语音合成中的韵律建模关键技术解析 在虚拟助手越来越“懂人心”、游戏角色开始“真情流露”的今天&#xff0c;我们对机器语音的期待早已超越了“能听清”&#xff0c;而是追求“听得动情”。可为什么大多数TTS&#xff08;文本转语音&#xff09;系统念出的句子总像…

GEO优化数据统计系统DeepAnaX系统详细介绍:构建企业级AI数据智能分析平台

在人工智能重塑商业生态的今天&#xff0c;企业面临着从海量AI交互数据中提取商业价值的迫切需求。当用户通过DeepSeek、通义千问、文心一言等智能平台进行决策时&#xff0c;品牌在这些对话中的"数字足迹"已成为衡量市场竞争力的关键指标。小脉传媒基于对AI生态的深…

AI应用架构师干货:GNN在医疗病历分析中的架构设计

AI应用架构师干货&#xff1a;GNN在医疗病历分析中的架构设计 一、引言 (Introduction) 钩子&#xff1a;医疗病历里的“隐藏关系”陷阱 凌晨3点&#xff0c;急诊室的张医生盯着电脑屏幕上的电子病历&#xff08;EHR&#xff09;眉头紧锁&#xff1a;52岁的糖尿病患者李阿姨&am…

MySQL变长字段的庖丁解牛

MySQL 中的变长字段&#xff08;如 VARCHAR、TEXT、BLOB、JSON 等&#xff09;是数据库设计中最常用也最易被误解的元素之一。一、什么是变长字段&#xff1f;变长字段 是指其存储长度随实际内容变化的字段类型&#xff0c;与 CHAR、INT 等固定长度字段相对。常见变长字段类型&…

简历美化vs职业欺诈:员工背景调查如何识别关键风险信号

在求职过程中&#xff0c;适度优化简历以突出亮点是常见做法。然而&#xff0c;当“美化”演变为虚构关键履历、伪造资质证明或刻意隐瞒不良记录时&#xff0c;便跨越了诚信底线&#xff0c;构成了职业欺诈。这类行为不仅违背职业道德&#xff0c;更会为企业带来法律、财务及声…

EmotiVoice语音合成情感渐变功能:从平静到激动平滑过渡

EmotiVoice语音合成情感渐变功能&#xff1a;从平静到激动平滑过渡 在虚拟主播声情并茂地讲述故事、游戏角色因剧情转折突然爆发怒吼的那一刻&#xff0c;你是否曾好奇——这些声音是如何生成的&#xff1f;它们为何听起来如此真实而富有感染力&#xff1f;随着AI语音技术的发展…

xcchat 是一个基于 Django 和 Django Channels 构建的轻量级在线客服系统。它支持实时聊天、人工/机器人客服切换、访客信息追踪和多站点接入

xcchat - 开源在线客服系统 作者&#xff1a;北小菜邮箱&#xff1a;bilibili_bxc126.comQQ&#xff1a;1402990689微信&#xff1a;bilibili_bxc哔哩哔哩主页&#xff1a;https://space.bilibili.com/487906612gitee地址&#xff1a;https://gitee.com/Vanishi/xcchatgithub地…

2.3 第一次AI寒冬(1974-1980):计算瓶颈、明斯基的批判与资金撤退

2.3 第一次AI寒冬&#xff08;1974-1980&#xff09;&#xff1a;计算瓶颈、明斯基的批判与资金撤退 黄金年代的乐观预言未能兑现。进入1970年代&#xff0c;人工智能领域遭遇了首次重大挫折&#xff0c;研究进展显著放缓&#xff0c;资金来源急剧收缩&#xff0c;这一阶段被后…

【大模型微调】11-Prefix Tuning技术:分析Prefix Tuning的工作机制

引言Prefix Tuning技术是近年来在自然语言处理&#xff08;NLP&#xff09;领域崭露头角的一种创新方法。作为一种高效的模型微调技术&#xff0c;Prefix Tuning旨在通过在输入序列前添加可学习的"前缀"&#xff08;prefix&#xff09;来调整预训练语言模型的性能&am…

EmotiVoice让聋哑人‘听见’文字背后的情绪变化

EmotiVoice&#xff1a;让聋哑人“听见”文字背后的情绪 在一场家庭对话中&#xff0c;女儿打字问&#xff1a;“你生气了吗&#xff1f;”母亲回复&#xff1a;“没有。”——这句看似平静的“没有”&#xff0c;如果只是由标准TTS朗读出来&#xff0c;语气平直、毫无波澜&…