jQuery EasyUI 數(shù)據(jù)網(wǎng)格 – 創(chuàng)建子網(wǎng)格

2022-06-08 16:23 更新

jQuery EasyUI 數(shù)據(jù)網(wǎng)格 - 創(chuàng)建子網(wǎng)格

使用jQuery EasyUI數(shù)據(jù)網(wǎng)格(datagrid)的詳細視圖,用戶可以展開一行來顯示附加的詳細信息。任何內(nèi)容都可以加載作為行詳細,子網(wǎng)格也可以動態(tài)加載。 

本節(jié)中的示例將向您展示如何在主網(wǎng)格上創(chuàng)建一個子網(wǎng)格。

步驟 1:創(chuàng)建主網(wǎng)格

<table id="dg" style="width:700px;height:250px" 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:設(shè)置詳細視圖來顯示子網(wǎng)格

為了使用詳細視圖,請記得在頁面頭部引用視圖腳本文件。

<script type="text/javascript" src="http://hgci.cn/try/jeasyui/datagrid-detailview.js"></script>
$('#dg').datagrid({
	view: detailview,
	detailFormatter:function(index,row){
		return '<div style="padding:2px"><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);
	}
});

當(dāng)用戶點擊展開按鈕('+')時,'onExpandRow'事件將被觸發(fā)。 我們創(chuàng)建一個新的帶有三列的子網(wǎng)格。 當(dāng)子網(wǎng)格數(shù)據(jù)加載成功時或者改變尺寸大小時,請記得對主網(wǎng)格調(diào)用'fixDetailRowHeight'方法。

步驟 3:服務(wù)器端代碼

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

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號