jQuery EasyUI使用教程之创建具有主数据网格的子网格

来源:互联网 发布:易武同兴号淘宝网 编辑:程序博客网 时间:2024/05/23 21:05

使用数据网格的详细视图,用户可以展开一行来显示附加的详细信息。任何内容都可以加载作为行详细,子网格也可以动态加载。本教程将向您展示如何在主网格上创建一个子网格。

jQuery EasyUI最新试用版下载请猛戳>>
在数据网格中扩展行显示详细信息
查看jQuery EasyUI演示

Step 1:创建主数据网格

1
2
3
4
5
6
7
8
9
10
11
12
<tableid="dg"style="width:700px;height:250px"url="datagrid22_getdata.php"title="DataGrid - SubGrid" singleselect="true"fitcolumns="true">
<thead>
<tr>
<thfield="itemid"width="80">Item ID</th>
<thfield="productid"width="100">Product ID</th>
<thfield="listprice"align="right"width="80">List Price</th>
<thfield="unitcost"align="right"width="80">Unit Cost</th>
<thfield="attr1"width="220">Attribute</th>
<thfield="status"width="60"align="center">Status</th>
</tr>
</thead>
</table>

Step 2:设置详细视图显示子网格

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

1
<scripttype="text/javascript"src="http://www.jeasyui.com/easyui/datagrid-detailview.js"></script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$('#dg').datagrid({
view: detailview,
detailFormatter:function(index,row){
return'<div style="padding:2px"><table class="ddv"></table></div>';
},
onExpandRow: function(index,row){
varddv = $(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' 方法。

Step 3:服务器端代码

datagrid22_getdata.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$resultarray();
 
include'conn.php';
 
$rs= mysql_query("select * from item where itemid in (select itemid from lineitem)");
 
$itemsarray();
while($row= mysql_fetch_object($rs)){
array_push($items$row);
}
 
echojson_encode($items);
 
datagrid22_getdetail.php
 
include'conn.php';
 
$itemid= mysql_real_escape_string($_REQUEST['itemid']);
 
$rs= mysql_query("select * from lineitem where itemid='$itemid'");
$itemsarray();
while($row= mysql_fetch_object($rs)){
array_push($items$row);
}
echojson_encode($items);

下载EasyUI示例:easyui-datagrid-demo.zip

有兴趣的朋友可以点击查看更多有关jQuery EasyUI的教程>>

0 0
原创粉丝点击