jQuery EasyUI Tree Menu -Chargement dynamique de la grille arborescente

Le chargement dynamique d'une grille arborescente permet de charger des données de lignes partielles depuis le serveur, évitant la longue attente du chargement de grandes données. Ce tutoriel vous montrera comment créer une grille arborescente (TreeGrid) avec des fonctionnalités de chargement dynamique.

Créer un 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>

Code côté serveur

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;
}

Télécharger les exemples jQuery EasyUI

jeasyui-tree-treegrid3.zip

Autres extensions