news 2026/6/9 19:39:35

jQuery EasyUI 数据网格 - 创建复杂工具栏

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
jQuery EasyUI 数据网格 - 创建复杂工具栏

jQuery EasyUI 数据网格 - 创建复杂工具栏

datagrid的工具栏(toolbar)支持非常灵活的布局,可以创建包含多行按钮、分隔线、下拉菜单、搜索框、分页自定义、状态显示等的复杂工具栏。这在实际后台管理系统中非常常见,能让操作区更专业、功能更丰富。

官方参考:

  • 复杂工具栏示例:https://www.jeasyui.com/tutorial/datagrid/datagrid5.php
  • 在线 Demo:https://www.jeasyui.com/demo/main/index.php?plugin=DataGrid&pitem=Custom+Toolbar
步骤 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: 创建复杂工具栏(多行 + 多种控件)
<!-- 复杂工具栏 --><divid="toolbar"style="padding:8px;background:#fafafa;border-bottom:1px solid #ddd;"><!-- 第一行:主要操作按钮 + 下拉菜单 --><divstyle="margin-bottom:6px;"><ahref="javascript:void(0)"class="easyui-linkbutton"iconCls="icon-add"plain="true"onclick="newUser()">新增用户</a><ahref="javascript:void(0)"class="easyui-linkbutton"iconCls="icon-edit"plain="true"onclick="editUser()">编辑</a><ahref="javascript:void(0)"class="easyui-linkbutton"iconCls="icon-remove"plain="true"onclick="deleteUser()">删除</a><ahref="javascript:void(0)"class="easyui-splitbutton"data-options="menu:'#exportMenu',iconCls:'icon-export',plain:true">导出</a><ahref="javascript:void(0)"class="easyui-menubutton"data-options="menu:'#moreMenu',iconCls:'icon-more',plain:true">更多操作</a><spanclass="toolbar-separator"style="margin:0 10px;color:#ccc;">|</span><ahref="javascript:void(0)"class="easyui-linkbutton"iconCls="icon-reload"plain="true"onclick="reload()">刷新</a><ahref="javascript:void(0)"class="easyui-linkbutton"iconCls="icon-tip"plain="true"onclick="showHelp()">帮助</a></div><!-- 第二行:高级搜索 + 状态显示 --><divstyle="margin-top:6px;"><span>用户名:</span><inputid="search_username"class="easyui-textbox"style="width:120px;"prompt="模糊搜索"><spanstyle="margin-left:10px;">状态:</span><selectid="search_status"class="easyui-combobox"style="width:100px;"data-options="panelHeight:'auto'"><optionvalue="">全部</option><optionvalue="1">启用</option><optionvalue="0">禁用</option></select><spanstyle="margin-left:10px;">注册日期:</span><inputid="search_start"class="easyui-datebox"style="width:110px;"><span>~</span><inputid="search_end"class="easyui-datebox"style="width:110px;"><ahref="javascript:void(0)"class="easyui-linkbutton"iconCls="icon-search"style="margin-left:10px;"onclick="doSearch()">查询</a><ahref="javascript:void(0)"class="easyui-linkbutton"plain="true"onclick="clearSearch()">清空</a><!-- 右侧状态信息 --><divstyle="float:right;color:#666;font-size:12px;line-height:28px;"><spanid="totalCount">0</span>条记录 已选中<spanid="selectedCount">0</span></div><divstyle="clear:both;"></div></div></div><!-- 导出下拉菜单 --><divid="exportMenu"class="easyui-menu"style="width:120px;"><divonclick="exportExcel()">导出 Excel</div><divonclick="exportPDF()">导出 PDF</div><divonclick="exportCSV()">导出 CSV</div></div><!-- 更多操作菜单 --><divid="moreMenu"class="easyui-menu"style="width:150px;"><diviconCls="icon-lock">批量启用</div><diviconCls="icon-unlock">批量禁用</div><divclass="menu-sep"></div><diviconCls="icon-email">发送邮件</div></div><!-- 数据网格 --><tableid="dg"class="easyui-datagrid"title="用户管理"style="width:100%;height:500px"data-options="url:'get_users.php',fitColumns:true,singleSelect:false,pagination:true,rownumbers:true,toolbar:'#toolbar'"><thead><tr><thfield="ck"checkbox="true"></th><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"formatter="formatStatus">状态</th><thfield="regdate"width="100">注册日期</th></tr></thead></table>
步骤 3: JavaScript 实现复杂功能
<scripttype="text/javascript">$(function(){// 加载完成后更新总数$('#dg').datagrid({onLoadSuccess:function(data){$('#totalCount').text(data.total);},onSelect:updateSelectedCount,onUnselect:updateSelectedCount,onSelectAll:updateSelectedCount,onUnselectAll:updateSelectedCount});functionupdateSelectedCount(){varrows=$('#dg').datagrid('getSelections');$('#selectedCount').text(rows.length);}});// 查询functiondoSearch(){$('#dg').datagrid('load',{username:$('#search_username').val(),status:$('#search_status').combobox('getValue'),startdate:$('#search_start').datebox('getValue'),enddate:$('#search_end').datebox('getValue')});}// 清空搜索functionclearSearch(){$('#search_username').textbox('clear');$('#search_status').combobox('setValue','');$('#search_start').datebox('clear');$('#search_end').datebox('clear');$('#dg').datagrid('load',{});}// 状态格式化functionformatStatus(value){returnvalue==1?'<span style="color:green;">启用</span>':'<span style="color:red;">禁用</span>';}// 导出示例functionexportExcel(){$.messager.alert('导出','正在导出为 Excel...');}functionexportPDF(){$.messager.alert('导出','正在导出为 PDF...');}// 其他操作functionnewUser(){$.messager.alert('新增','打开新增窗口');}functioneditUser(){$.messager.alert('编辑','打开编辑窗口');}functiondeleteUser(){$.messager.confirm('确认','确定删除选中记录吗?',function(r){if(r){$.messager.show({title:'成功',msg:'删除成功'});}});}functionreload(){$('#dg').datagrid('reload');}functionshowHelp(){$.messager.alert('帮助','这是帮助信息');}</script>
关键特性总结
  • 多行布局:使用<div>分隔多行工具。
  • 下拉菜单:使用splitbuttonmenubutton实现导出、更多操作。
  • 搜索区:多个输入框 + 查询/清空按钮。
  • 状态显示:实时显示总记录数和选中数。
  • 美化:使用plain="true"、分隔线、浮动布局。
效果

一个专业、功能齐全的复杂工具栏,支持:

  • CRUD 操作
  • 批量导出(下拉选择格式)
  • 高级多条件搜索
  • 实时状态统计
  • 更多扩展操作

更多示例:

  • 官方复杂工具栏:https://www.jeasyui.com/tutorial/datagrid/datagrid5.php
  • 自定义分页器 + 工具栏:https://www.jeasyui.com/demo/main/index.php?plugin=DataGrid&pitem=Custom+Pager

如果需要导入功能自定义分页器权限控制显示按钮、或响应式工具栏,请继续提问!

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

基于java+ vue畅游游戏销售管理系统(源码+数据库+文档)

畅游游戏销售 目录 基于springboot vue畅游游戏销售系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 基于springboot vue畅游游戏销售系统 一、前言 博主介绍&…

作者头像 李华
网站建设 2026/6/9 18:17:13

基于springboot + vue酒店预订系统(源码+数据库+文档)

酒店预订系统 目录 基于springboot vue酒店预订系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 基于springboot vue酒店预订系统 一、前言 博主介绍&#xff1a;✌…

作者头像 李华
网站建设 2026/6/8 22:22:25

企业级语音解决方案新秀:EmotiVoice商业应用前景

企业级语音解决方案新秀&#xff1a;EmotiVoice商业应用前景 在智能客服越来越“懂你”的今天&#xff0c;一句冰冷的“您好&#xff0c;欢迎致电”&#xff0c;或许已经无法满足用户对服务温度的期待。当用户因订单延迟而焦急时&#xff0c;系统若能以温和、歉意的语调回应&am…

作者头像 李华
网站建设 2026/6/7 22:42:35

2026毕设ssm+vue基于框架的人力资源管理系统论文+程序

本系统&#xff08;程序源码&#xff09;带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、选题背景随着互联网技术的迅速发展&#xff0c;动漫文化在全球范围内日益流行&#xff0c;尤其在年轻群体中具有广泛影响力。国内动漫产…

作者头像 李华
网站建设 2026/6/9 0:55:49

EmotiVoice模型镜像下载及本地部署详细教程

EmotiVoice模型镜像下载及本地部署详细教程 在语音交互日益普及的今天&#xff0c;用户对“声音”的要求早已超越了“能听清”这一基本标准。从智能音箱到虚拟主播&#xff0c;从有声书平台到游戏NPC对话系统&#xff0c;大家期待的是富有情感、自然流畅、甚至带有熟悉音色的声…

作者头像 李华
网站建设 2026/6/8 7:10:44

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

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

作者头像 李华