jQuery EasyUI 数据网格 – 扩展行显示细节

jQuery EasyUI 数据网格 – 扩展行显示细节

本节介绍jQuery EasyUI数据网格(datagrid)如何通过详细视图来显示网格中行的详细信息。

数据网格可以改变它的视图(view)来显示不同的效果。使用详细视图,数据网格可以在数据行的左边显示展开按钮(”+” 或者 “-“)。通过展开按钮,用户可以展开行来显示附加的详细信息。

jQuery EasyUI 数据网格 – 扩展行显示细节

步骤 1:创建数据网格(DataGrid)

	<table id="dg" style="" 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:为数据网格(DataGrid)设置详细视图

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

<script type="text/javascript" src="/try/jeasyui/datagrid-detailview.js"></script>
$(#dg).datagrid({
	view: detailview,
	detailFormatter:function(index,row){
		return <div class="ddv" style=""></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函数,告诉数据网格如何渲染详细视图。在这种情况下,我们返回一个简单的<div>元素,它将充当详细内容的容器。请注意,详细信息为空。当用户点击展开按钮(+)时,onExpandRow事件将被触发。 所以我们可以写一些代码来加载ajax详细内容。 最后我们调用fixDetailRowHeight方法来固定当详细内容加载时的行高度。

步骤 3:服务器端代码

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="">
	<tr>
		<td rowspan="3" style="">
			&lt;?php
				$aa = explode(-,$itemid);
				$serno = $aa[1];
				$img = "images/shirt$serno.gif";
				echo "<img src="$img" style=";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

作者:andy,如若转载,请注明出处:https://www.web176.com/easyui/14711.html

(0)
打赏 支付宝 支付宝 微信 微信
andy的头像andy
上一篇 2023年3月31日
下一篇 2023年3月31日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注