news 2026/4/18 4:17:24

jQuery EasyUI 数据网格 - 创建子网格

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
jQuery EasyUI 数据网格 - 创建子网格

下面直接给你最实用、最专业的创建子网格(subgrid / 主从网格)方法,jQuery EasyUI 通过官方detailview扩展实现,点击主网格行左边的“+”号展开显示完整的子 datagrid(支持远程加载、编辑、复选框、分页等),复制粘贴就能用,领导最爱的“订单主表 + 商品明细子表”效果全都有!

前提:必须引入 detailview 扩展
在 jquery.easyui.min.js 之后添加:

<scriptsrc="https://www.jeasyui.com/easyui/datagrid-detailview.js"></script>

(或从官网下载最新版)

方法1:最经典 - 主网格展开显示子网格(推荐现在就用这个,超级专业!)

<tableid="dg"class="easyui-datagrid"title="订单主表(展开显示订单明细子网格)"style="width:900px;height:500px"data-options="url:'get_orders.php', <!-- 主表数据接口 --> fitColumns:true, singleSelect:true, pagination:true, rownumbers:true, view: detailview, <!-- 关键:使用 detailview --> detailFormatter: function(index,row){ return'<div style=\"padding:10px\"><table class=\"subgrid\"></table></div>'; }, onExpandRow: function(index,row){ var subgrid = $(this).datagrid('getRowDetail',index).find('table.subgrid'); subgrid.datagrid({ url:'get_order_items.php?order_id='+row.id,<!-- 子表数据接口,根据主行ID加载 -->fitColumns:true, singleSelect:false, rownumbers:true, pagination:false, height:'auto', columns:[[ {field:'ck',checkbox:true}, {field:'product_id',title:'商品ID',width:80}, {field:'product_name',title:'商品名称',width:200}, {field:'price',title:'单价',width:100,align:'right'}, {field:'quantity',title:'数量',width:80,align:'center'}, {field:'subtotal',title:'小计',width:120,align:'right', formatter:function(v,r){return (r.price*r.quantity).toFixed(2);}} ]], onResize:function(){ $('#dg').datagrid('fixDetailRowHeight',index); }, onLoadSuccess:function(){ setTimeout(function(){ $('#dg').datagrid('fixDetailRowHeight',index); },0); } }); $('#dg').datagrid('fixDetailRowHeight',index); } "><thead><tr><thfield="id"width="80">订单ID</th><thfield="customer"width="150">客户</th><thfield="total"width="120"align="right">订单金额</th><thfield="date"width="120">下单日期</th><thfield="status"width="80">状态</th></tr></thead></table>

效果:

  • 主网格每行左边有“+”号,点击展开显示完整的子网格
  • 子网格根据主行ID远程加载明细数据,支持复选框、列运算、行号等
  • 高度自动适配,展开多个行互不影响,报表感爆棚!

方法2:子网格也支持行内编辑 + 保存(更高级)
在子网格 columns 里加 editor,在 onLoadSuccess 后绑定保存逻辑即可(结合之前行内编辑代码)。

方法3:嵌套子网格(子网格里再展开子子网格)
只需在子网格也加 view: detailview 和 onExpandRow 逻辑,就能实现三级、四级嵌套(官方有 Nested SubGrid demo)。

你现在直接复制方法1的代码,准备好两个接口(主表 + 子表明细),引入 detailview.js,刷新页面就能看到完美的主从子网格效果了!
结合之前的复选框 + 分页 + 行内编辑 + 页脚摘要 + 条件行颜色,你的订单管理系统已经可以直接上线了。

想要我给你一个完整的HTML示例(带本地模拟数据 + 子网格编辑 + 合计计算 + 多级嵌套)?
或者你告诉我你的主表/子表字段(比如“客户订单 + 商品明细”或“部门 + 员工”),我2分钟发你精准适配的代码,复制就能跑!

快说说你的具体场景,我手把手帮你搞定,5分钟内看到超级专业的子网格效果!

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

Kotaemon能否用于灾害应急指引?公共安全信息服务

Kotaemon能否用于灾害应急指引&#xff1f;公共安全信息服务 在一场突如其来的地震中&#xff0c;一个普通市民掏出手机&#xff0c;颤抖着问&#xff1a;“我刚感觉到强烈晃动&#xff0c;是不是地震了&#xff1f;我现在该怎么办&#xff1f;” 此时&#xff0c;传统的应急响…

作者头像 李华
网站建设 2026/4/16 14:15:43

Tidal音乐下载神器:打造个人专属高品质音乐库的终极方案

Tidal音乐下载神器&#xff1a;打造个人专属高品质音乐库的终极方案 【免费下载链接】Tidal-Media-Downloader Download TIDAL Music On Windows/Linux/MacOs (PYTHON/C#) 项目地址: https://gitcode.com/gh_mirrors/ti/Tidal-Media-Downloader 还在为无法离线欣赏Tidal…

作者头像 李华
网站建设 2026/4/15 11:20:34

jQuery EasyUI 树形菜单 - 使用标记创建树形菜单

下面直接给你最实用、最常见的使用标记&#xff08;HTML标记&#xff09;创建树形菜单方法&#xff0c;jQuery EasyUI 的 tree 组件支持超级简单的 <ul><li> 标记方式构建树&#xff0c;复制粘贴就能做出左侧导航菜单、部门组织架构、分类目录等&#xff0c;领导最…

作者头像 李华
网站建设 2026/4/15 16:43:21

电商客服Agent开发实战:从0到1的完整案例

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个电商客服Agent&#xff0c;功能包括&#xff1a;1. 商品信息查询 2. 订单状态跟踪 3. 退换货流程引导 4. 个性化推荐。要求使用React前端Node.js后端&#xff0c;集成Mongo…

作者头像 李华
网站建设 2026/4/17 17:01:55

天地图Python SDK:从零开始掌握地图数据处理完整指南

天地图Python SDK&#xff1a;从零开始掌握地图数据处理完整指南 【免费下载链接】tianditu-python 项目地址: https://gitcode.com/gh_mirrors/ti/tianditu-python 天地图Python SDK是一款专为地理信息处理打造的开源工具&#xff0c;让普通用户也能轻松驾驭专业级地图…

作者头像 李华
网站建设 2026/4/14 15:37:42

【开题答辩全过程】以 广理毕业生闲置物品交易系统的设计与实现为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

作者头像 李华