jQuery EasyUI 数据网格 – 扩展行显示细节
本节介绍jQuery EasyUI数据网格(datagrid)如何通过详细视图来显示网格中行的详细信息。
数据网格可以改变它的视图(view)来显示不同的效果。使用详细视图,数据网格可以在数据行的左边显示展开按钮(”+” 或者 “-“)。通过展开按钮,用户可以展开行来显示附加的详细信息。
步骤 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
<?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);
?>
<table class="dv-table" border="0" style="">
<tr>
<td rowspan="3" style="">
<?php
$aa = explode(-,$itemid);
$serno = $aa[1];
$img = "images/shirt$serno.gif";
echo "<img src="$img" style=";margin-right:20px" />";
?>
</td>
<td class="dv-label">Item ID: </td>
<td><?php echo $item[itemid];?></td>
<td class="dv-label">Product ID:</td>
<td><?php echo $item[productid];?></td>
</tr>
<tr>
<td class="dv-label">List Price: </td>
<td><?php echo $item[listprice];?></td>
<td class="dv-label">Unit Cost:</td>
<td><?php echo $item[unitcost];?></td>
</tr>
<tr>
<td class="dv-label">Attribute: </td>
<td colspan="3"><?php echo $item[attr1];?></td>
</tr>
</table>
下载 jQuery EasyUI 实例
jeasyui-datagrid-datagrid21.zip
作者:andy,如若转载,请注明出处:https://www.web176.com/easyui/14711.html