jQuery EasyUI使用教程:添加分页到树网格中

本教程展示如何在带有动态加载特性的树网格中添加分页。

添加节点到树形菜单
创建树网格

想要启动树网格的分页功能,首先必须添加 'pagination:true' 属性,这样页面加载时就会向服务器发送 'page' 和 'rows' 参数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
< table title = "Products" class = "easyui-treegrid" style = "width:700px;height:300px" data-options="
url: 'treegrid4_getdata.php',
rownumbers: true,
pagination: true,
pageSize: 2,
pageList: [2,10,20],
idField: 'id',
treeField: 'name',
onBeforeLoad: function(row,param){
if (!row) { // load top level rows
param.id 0 ; // set  id = 0 , indicate to load new page rows
}
}
">
< thead >
< tr >
< th field = "name" width = "250" >Name</ th >
< th field = "quantity" width = "100" align = "right" >Quantity</ th >
< th field = "price" width = "150" align = "right" formatter = "formatDollar" >Price</ th >
< th field = "total" width = "150" align = "right" formatter = "formatDollar" >Total</ th >
</ tr >
</ thead >
</ table >
服务器代码

treegrid4_getdata.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
$page = isset( $_POST [ 'page' ]) ?  intval ( $_POST [ 'page' ]) : 1;
$rows = isset( $_POST [ 'rows' ]) ?  intval ( $_POST [ 'rows' ]) : 10;
$offset = ( $page -1)* $rows ;
 
$id = isset( $_POST [ 'id' ]) ?  intval ( $_POST [ 'id' ]) : 0;
 
include 'conn.php' ;
 
$result array ();
if ( $id == 0){
$rs = mysql_query( "select count(*) from products where parentId=0" );
$row = mysql_fetch_row( $rs );
$result [ "total" ] =  $row [0];
 
$rs = mysql_query( "select * from products where parentId=0 limit $offset,$rows" );
$items array ();
while ( $row = mysql_fetch_array( $rs )){
$row [ 'state' ] = has_child( $row [ 'id' ]) ?  'closed' 'open' ;
array_push ( $items $row );
}
$result [ "rows" ] =  $items ;
else {
$rs = mysql_query( "select * from products where parentId=$id" );
while ( $row = mysql_fetch_array( $rs )){
$row [ 'state' ] = has_child( $row [ 'id' ]) ?  'closed' 'open' ;
$row [ 'total' ] =  $row [ 'price' ]* $row [ 'quantity' ];
array_push ( $result $row );
}
}
 
echo json_encode( $result );
 
function has_child( $id ){
$rs = mysql_query( "select count(*) from products where parentId=$id" );
$row = mysql_fetch_array( $rs );
return $row [0] > 0 ? true : false;
}

发送到服务器的参数包括:

  • page:要加载的当前页面
  • rows:页面尺寸大小
  • id:父行的id值,从服务器返回的行将被添加

当展开一个行节点时,'id' 值是大于 0 的。 当改变页码时,'id' 值应该被设置为 0 来放置加载子行。

下载EasyUI示例:easyui-treegrid-demo.zip

有兴趣的朋友可以点击查看更多有关jQuery EasyUI的教程>>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值