Categories: jQuery EasyUI 教程

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

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

使用jQuery EasyUI数据网格(datagrid)的详细视图,用户可以展开一行来显示附加的详细信息。任何内容都可以加载作为行详细,子网格也可以动态加载。 

本节中的示例将向您展示如何在主网格上创建一个子网格。

步骤 1:创建主网格

<table id="dg" style="" url="datagrid22_getdata.php" title="DataGrid - SubGrid" singleSelect="true" fitColumns="true">
 <thead>
  <tr>
   <th field="itemid" width="80">Item ID</th>
   <th field="productid" width="100">Product ID</th>
   <th field="listprice" align="right" width="80">List Price</th>
   <th field="unitcost" align="right" width="80">Unit Cost</th>
   <th field="attr1" width="220">Attribute</th>
   <th field="status" width="60" align="center">Status</th>
  </tr>
 </thead>
</table>

步骤 2:设置详细视图来显示子网格

为了使用详细视图,请记得在页面头部引用视图脚本文件。

<script type="text/javascript" src="/try/jeasyui/datagrid-detailview.js"></script>
$(#dg).datagrid({
 view: detailview,
 detailFormatter:function(index,row){
  return <div style=""><table class="ddv"></table></div>;
 },
 onExpandRow: function(index,row){
  var ddv = $(this).datagrid(getRowDetail,index).find(table.ddv);
  ddv.datagrid({
   url:datagrid22_getdetail.php?itemid=+row.itemid,
   fitColumns:true,
   singleSelect:true,
   rownumbers:true,
   loadMsg:,
   height:auto,
   columns:[[
    {field:orderid,title:Order ID,width:100},
    {field:quantity,title:Quantity,width:100},
    {field:unitprice,title:Unit Price,width:100}
   ]],
   onResize:function(){
    $(#dg).datagrid(fixDetailRowHeight,index);
   },
   onLoadSuccess:function(){
    setTimeout(function(){
     $(#dg).datagrid(fixDetailRowHeight,index);
    },0);
   }
  });
  $(#dg).datagrid(fixDetailRowHeight,index);
 }
});

当用户点击展开按钮(+)时,onExpandRow事件将被触发。 我们创建一个新的带有三列的子网格。 当子网格数据加载成功时或者改变尺寸大小时,请记得对主网格调用fixDetailRowHeight方法。

步骤 3:服务器端代码

datagrid22_getdata.php
$result = array();

include conn.php;

$rs = mysql_query("select * from item where itemid in (select itemid from lineitem)");

$items = array();
while($row = mysql_fetch_object($rs)){
 array_push($items, $row);
}

echo json_encode($items);
datagrid22_getdetail.php
include conn.php;

$itemid = mysql_real_escape_string($_REQUEST[itemid]);

$rs = mysql_query("select * from lineitem where itemid=$itemid");
$items = array();
while($row = mysql_fetch_object($rs)){
 array_push($items, $row);
}
echo json_encode($items);

下载 jQuery EasyUI 实例

jeasyui-datagrid-datagrid22.zip

admin

这个人很懒,什么都没有留下~

Share
Published by
admin

Recent Posts

聊聊vue3中的defineProps

在Vue 3中,defineP…

4 天 ago

在 Chrome 中删除、允许和管理 Cookie

您可以选择删除现有 Cooki…

1 周 ago

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

2 周 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

3 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

4 周 ago

Vue3:手动清理keep-alive组件缓存的方法

Vue3中手动清理keep-a…

4 周 ago