jEasyUI 확장 행 표시 세부정보


jQuery EasyUI 데이터 그리드 - 확장 행 표시 세부 정보

데이터 그리드는 보기를 변경하여 다양한 효과를 표시할 수 있습니다. 상세 보기를 사용하면 데이터 그리드에서 데이터 행 왼쪽에 확장 버튼("+" 또는 "-")을 표시할 수 있습니다. 사용자는 행을 확장하여 추가 세부정보를 표시할 수 있습니다.

82.png

1단계: 데이터 그리드 생성(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단계: 데이터 그리드에 대한 상세 보기 설정(DataGrid)

상세 보기를 사용하려면 다음에서 보기 스크립트 파일을 인용하는 것을 잊지 마세요. 페이지의 머리.

<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 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' 함수를 정의하여 상세 뷰를 렌더링하는 방법을 데이터그리드에 알려줍니다. 이 경우 자세한 콘텐츠의 컨테이너 역할을 하는 간단한 '<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="width:100%;">
	<tr>
		<td rowspan="3" style="width:60px">
			<?php
				$aa = explode('-',$itemid);
				$serno = $aa[1];
				$img = "images/shirt$serno.gif";
				echo "<img src=\"$img\" style=\"width:60px;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