Latest web development tutorials
×

jQuery EasyUI 教程

jQuery EasyUI 教程 jQuery EasyUI 簡介

jEasyUI 應用

jEasyUI 創建 CRUD 應用 jEasyUI 創建 CRUD 數據網格 jEasyUI 表單的 CRUD 應用 jEasyUI 創建 RSS 閱讀器

jEasyUI 拖放

jEasyUI 基本的拖動和放置 jEasyUI 創建拖放的購物車 jEasyUI 創建學校課程表

jEasyUI 菜單與按鈕

jEasyUI 創建簡單的菜單 jEasyUI 創建鏈接按鈕 jEasyUI 創建菜單按鈕 jEasyUI 創建分割按鈕

jEasyUI 佈局

jEasyUI 創建邊框佈局 jEasyUI 創建複雜佈局 jEasyUI 創建折疊面板 jEasyUI 創建標籤頁 jEasyUI 動態添加標籤頁 jEasyUI 添加自動播放標籤頁 jEasyUI 創建 XP 風格左側面板

jEasyUI 數據網格

jEasyUI 轉換 HTML 表格為數據網格 jEasyUI 取得選中行數據 jEasyUI 添加查詢功能 jEasyUI 添加工具欄 jEasyUI 創建複雜工具欄 jEasyUI 設置凍結列 jEasyUI 動態改變列 jEasyUI 格式化列 jEasyUI 設置排序 jEasyUI 自定義排序 jEasyUI 創建列組合 jEasyUI 添加複選框 jEasyUI 自定義分頁 jEasyUI 啟用行內編輯 jEasyUI 擴展編輯器 jEasyUI 列運算 jEasyUI 合併單元格 jEasyUI 創建自定義視圖 jEasyUI 創建頁腳摘要 jEasyUI 條件設置行背景顏色 jEasyUI 創建屬性網格 jEasyUI 擴展行顯示細節 jEasyUI 創建子網格 jEasyUI 顯示海量數據 jEasyUI 添加分頁組件

jEasyUI 窗口

jEasyUI 創建簡單窗口 jEasyUI 自定義窗口工具欄 jEasyUI 窗口與佈局 jEasyUI 創建對話框 jEasyUI 自定義對話框

jEasyUI 樹形菜單

jEasyUI 使用標記創建樹形菜單 jEasyUI 創建異步樹形菜單 jEasyUI 樹形菜單添加節點 jEasyUI 創建帶複選框的樹形菜單 jEasyUI 樹形菜單拖放控制 jEasyUI 樹形菜單加載父/子節點 jEasyUI 創建基礎樹形網格 jEasyUI 創建複雜樹形網格 jEasyUI 樹形網格動態加載 jEasyUI 樹形網格添加分頁 jEasyUI 樹形網格惰性加載節點

jEasyUI 表單

jEasyUI 創建異步提交表單 jEasyUI 表單驗證 jEasyUI 創建樹形下拉框 jEasyUI 格式化下拉框 jEasyUI 過濾下拉數據網格

jEasyUI 參考手冊

jQuery EasyUI 插件 jQuery EasyUI 擴展

jQuery EasyUI 數據網格– 創建子網格

使用數據網格(datagrid)的詳細視圖,用戶可以展開一行來顯示附加的詳細信息。 任何內容都可以加載作為行詳細,子網格也可以動態加載。 本教程將向您展示如何在主網格上創建一個子網格。

步驟1:創建主網格

<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:設置詳細視圖來顯示子網格

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

<script type="text/javascript" src="http://www.w3cschool.cc/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);
	}
});

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

步驟3:服務器端代碼

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