Salut,
Après les Datagrid, je suis passé au dijit.Tree : je commence à être un peu plus productif que les premiers jours, mais il y a encore beaucoup de chemin à faire .
Le contexte :
Dans 2 sections <div> consécutives d'une page, j'affiche soit un Datagrid dans la 1-ère soit un Tree dans la seconde : ( une seule section est affichée à la fois, ce qui fait qu'il y a affichage au même emplacement dans la page )
la commutation entre l'un ou l'autre affichage se fait avec une action de l'utilisateur du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <!-- Affichage des visuels de l'application --> <div dojoType="dojox.grid.DataGrid" class="nihilo" id="listeVisuelsSel" style="width: 1000px; height: 260px;" > </div> <!-- Affichage du répertoire des visuels --> <div dojoType="dijit.Tree" class="nihilo" id="repertoireVisuels" style="width: 600px; height: 260px;" > </div>
et le code pour le Tree :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 function commute(){ if (grid == 1) { // le Datagrid est affiché, on le masque et on affiche le Tree dojo.style(dojo.byId('listeVisuelsSel'), {display: 'none', visibility: 'hidden'}); dojo.style(dojo.byId('repertoireVisuels'), {display: 'block', visibility: 'visible'}); grid = 0; } else { // le Tree est affiché, on le masque et on affiche le Datagrid dojo.style(dojo.byId('repertoireVisuels'), {display: 'none', visibility: 'hidden'}); dojo.style(dojo.byId('listeVisuelsSel'), {display: 'block', visibility: 'visible'}); grid = 1; } }
1-ère question : affichage du Tree :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 function arborescence() { var arbo = new dijit.Tree({ store: jsonRep, labelAttr: 'name', label: 'Répertoire des visuels', query: {}, autoWidth: true, rowSelector: '20px' }, document.createElement('div')); dojo.byId("repertoireVisuels").appendChild(arbo.domNode); }
Si mon Datagrid est borné en hauteur ( apparition d'un ascenseur si le nbre de lignes est important ) par la propriété style="width: 1000px; height: 260px;" , il n'en n'est pas de même pour le Tree qui affiche tous les éléments en débordant sur d'autres sections de la page? Je n'ai pas vu d'élément/propriété dans l'API Tree qui me permette de résoudre ce pb.
2-ème question : alimentation du Tree :
Le Tree est destiné à afficher une arborescence de fichiers ( pour l'instant je l'alimente à partir d'un jsonStore statique ) qui vont avoir 2 origines : une arbo en provenance du serveur ( là, c'est du java, à moi de me débrouiller .... ) et une arbo à partir du poste client ( l'admin de l'appli ). Y a t'il des fonctions Dojo ou javascript permettant de générer le jsonStore correspondant en lui fournissant seulement la racine de l'arborescence?
question annexe : référence sur un objet Dojo ( hors sujet ) : Ben, pour faciliter les recherches des utilisateurs du forum, on ne va pas tout mélanger, donc je lance un autre post.
Partager