SmartClient - SmartGwt - TreeGrid DataSource
Par PlaceOweb le dimanche, décembre 21 2008, 19:17 - JAVA - Lien permanent
Comment faire un arbre chargé dynamiquement depuis une source de données (DataSource) tel qu'avec une RestDataSource XML ou JSON
Voyez les documents SmartClient suivants :
Tree DataBinding
class RestDataSource extends DataSource
Dont le retour XML d'un "fetch" est du genre :
<response> <status>0</status> <data> <record> <field1>value</field1> <field2>value</field2> </record> <record> <field1>value</field1> <field2>value</field2> </record> </data> </response>
Et pour un arbre :
<response> <status>0</status> <data> <record> <itemId>15</itemId> <parentId>12</parentId> </record> <record> <itemId>16</itemId> <parentId>12</parentId> </record> </data> </response>
Dans leur forum, des posts sont utiles :
TreeNode isLeaf with RestDataSource
Le XML retourné par la RestDataSource peut inclure la balise "isFolder" pour indiquer que le le record est un nœud "leaf" et ne contient aucun fils :
<record> <isFolder>false</isFolder> ... </record>
XML not getting loaded in TreeGrid
Dans cette page, une solution complète (client et serveur) de chargement d'arbre grille dynamique via un flux XML.
On notera que l'erreur à ne pas commettre est de définir la clé externe sur le fils à la place du père :
parentIdField.setForeignKey("id")
Ressources
- Lors de l'expansion d'un groupe, sélectionner le premier nœud enfant ce groupe : Programatically select a node in a SmartGWT treegrid
- Navigation en arbre de grille (TreeGrid) Advanced SmartGWT Tutorial, Part 2
- TreeGrid and TreeGridField (Smart GWT)
- com.smartgwt.client.widgets.tree.TreeGrid
- TreeDataBinding
TreeGrid, autre qu'en SmartGwt
- jqGrid : TreeGrid Treegrid est une façon de représenter des données hiérarchiques dans la grille. Treegrid supporte à la fois le modèle ensemble imbriqué et le modèle de contiguïté. De bons articles décrivant le modèle ensemble imbriqué peuvent être trouvée ici :
- Managing Hierarchical Data in MySQL, Managing Hierarchical Data in MySQL lft and rgt (nleft nright : la représentation intervallaire) et Nested Set (ensemble imbriqué)
- Storing Hierarchical Data in a Database Article