jQuery EasyUI 數(shù)據(jù)網(wǎng)格 – 擴展行顯示細節(jié)

2022-06-08 16:23 更新

jQuery EasyUI 數(shù)據(jù)網(wǎng)格 - 擴展行顯示細節(jié)

本節(jié)介紹jQuery EasyUI數(shù)據(jù)網(wǎng)格(datagrid)如何通過詳細視圖來顯示網(wǎng)格中行的詳細信息。

數(shù)據(jù)網(wǎng)格可以改變它的視圖(view)來顯示不同的效果。使用詳細視圖,數(shù)據(jù)網(wǎng)格可以在數(shù)據(jù)行的左邊顯示展開按鈕("+" 或者 "-")。通過展開按鈕,用戶可以展開行來顯示附加的詳細信息。

步驟 1:創(chuàng)建數(shù)據(jù)網(wǎng)格(DataGrid)

	<table id="dg" style="width:500px;height:250px" url="datagrid8_getdata.php" pagination="true" sortName="itemid" sortOrder="desc" 			title="DataGrid - Expand Row" singleSelect="true" fitColumns="true">
		<thead>
			<tr>
				<th field="itemid" width="60">Item ID</th>
				<th field="productid" width="80">Product ID</th>
				<th field="listprice" align="right" width="70">List Price</th>
				<th field="unitcost" align="right" width="70">Unit Cost</th>
				<th field="status" width="50" align="center">Status</th>
			</tr>
		</thead>
	</table>

步驟 2:為數(shù)據(jù)網(wǎng)格(DataGrid)設(shè)置詳細視圖

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

<script type="text/javascript" src="http://m.hgci.cn/try/jeasyui/datagrid-detailview.js"></script>
$('#dg').datagrid({
	view: detailview,
	detailFormatter:function(index,row){
		return '<div class="ddv" style="padding:5px 0"></div>';
	},
	onExpandRow: function(index,row){
		var ddv = $(this).datagrid('getRowDetail',index).find('div.ddv');
		ddv.panel({
			border:false,
			cache:false,
			href:'datagrid21_getdetail.php?itemid='+row.itemid,
			onLoad:function(){
				$('#dg').datagrid('fixDetailRowHeight',index);
			}
		});
		$('#dg').datagrid('fixDetailRowHeight',index);
	}
});

我們定義'detailFormatter'函數(shù),告訴數(shù)據(jù)網(wǎng)格如何渲染詳細視圖。在這種情況下,我們返回一個簡單的'<div>'元素,它將充當詳細內(nèi)容的容器。請注意,詳細信息為空。當用戶點擊展開按鈕('+')時,onExpandRow事件將被觸發(fā)。 所以我們可以寫一些代碼來加載ajax詳細內(nèi)容。 最后我們調(diào)用'fixDetailRowHeight'方法來固定當詳細內(nèi)容加載時的行高度。

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

datagrid21_getdetail.php
&lt;?php
	include_once 'conn.php';

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

	$rs = mysql_query("select * from item where itemid='$itemid'");
	$item = mysql_fetch_array($rs);
?&gt;

<table class="dv-table" border="0" style="width:100%;">
	<tr>
		<td rowspan="3" style="width:60px">
			&lt;?php
				$aa = explode('-',$itemid);
				$serno = $aa[1];
				$img = "images/shirt$serno.gif";
				echo "<img src=\"$img\" style=\"width:60px;margin-right:20px\" />";
			?&gt;
		</td>
		<td class="dv-label">Item ID: </td>
		<td>&lt;?php echo $item['itemid'];?&gt;</td>
		<td class="dv-label">Product ID:</td>
		<td>&lt;?php echo $item['productid'];?&gt;</td>
	</tr>
	<tr>
		<td class="dv-label">List Price: </td>
		<td>&lt;?php echo $item['listprice'];?&gt;</td>
		<td class="dv-label">Unit Cost:</td>
		<td>&lt;?php echo $item['unitcost'];?&gt;</td>
	</tr>
	<tr>
		<td class="dv-label">Attribute: </td>
		<td colspan="3">&lt;?php echo $item['attr1'];?&gt;</td>
	</tr>
</table>

下載 jQuery EasyUI 實例

jeasyui-datagrid-datagrid21.zip

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號