Easy Tutorial
❮ Plugins Base Easyloader Plugins Layout Panel ❯

jQuery EasyUI Tree Menu - TreeGrid Dynamic Loading

Dynamic loading of the TreeGrid helps to load partial row data from the server, avoiding long waits for loading large datasets. This tutorial will show you how to create a TreeGrid with dynamic loading features.

Creating a TreeGrid

<table title="Products" class="easyui-treegrid" style="width:700px;height:300px"
            url="treegrid3_getdata.php"
            rownumbers="true"
            idField="id" treeField="name">
        <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>

Server-Side Code

treegrid3_getdata.php

$id = isset($_POST['id']) ? intval($_POST['id']) : 0;

include 'conn.php';
$result = array();
$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;
}

Download jQuery EasyUI Example

jeasyui-tree-treegrid3.zip

❮ Plugins Base Easyloader Plugins Layout Panel ❯