IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ext JS / Sencha Discussion :

Comment afficher un Text dans la racine du Tree ?


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Par défaut Comment afficher un Text dans la racine du Tree ?
    Salut à tous,

    j'ai un Tree Grid dans lequel j'affiche le JSON suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    {
    	"name" : "root",
    	"expanded" : false,
    	"leaf" : false,
    	"children" : [
    		{
    			"name" : "Miscellaneous",
    			"expanded" : false,
    			"leaf" : false,
    			"children" : [
    				{
    					"name" : "Misc Feuille G",
    					"expanded" : false,
    					"leaf" : true
    				},
    				{
    					"name" : "Misc Feuille D",
    					"expanded" : false,
    					"leaf" : true
    				}
    			]
    		},
    		{
    			"name" : "My Projects",
    			"expanded" : false,
    			"leaf" : false,
    			"children" : [
    				{
    					"name" : "Projet Feuille G",
    					"expanded" : false,
    					"leaf" : true
    				},
    				{
    					"name" : "Projet Feuille D",
    					"expanded" : false,
    					"leaf" : true
    				},
    				{
    					"name" : "airbus",
    					"expanded" : false,
    					"leaf" : false,
    					"children" : [
    						{
    						"name" : "GB3456687 G",
    						"expanded" : false,
    						"leaf" : true
    						},
    						{
    						"name" : "FR1423564 D",
    						"expanded" : false,
    						"leaf" : true
    						}
    					]
    				}
    			]
    		}
    	]
    }
    cela affiche bien ma hierarchie mais le prmier folder PERE (pour pas dire root) n'a pas de text associé.
    J'ai donc une hierarchie de ce style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    +
      + Miscellaneous
        + ... 
      + My Projects
        + ...
    Comment puis-je afficher pour le premier + (le premier folder) un text ?!

    ça me rend fou car je cherche depuis plusieurs jours (par intermittence quand même) sans trouver de solution à mon problème !

    Help !!!

  2. #2
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    je ne sais si tu utilise un treegrid ou un treepanel
    mais sur un treepanel le text afiché par un noeud est 'text' et non 'name'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    var store = Ext.create('Ext.data.TreeStore', {
        root: {
            expanded: true,
            text: "root",
            children: [
                { text: "detention", leaf: true },
                { text: "homework", expanded: true, children: [
                    { text: "book report", leaf: true },
                    { text: "algebra", leaf: true}
                ] },
                { text: "buy lottery tickets", leaf: true }
            ]
        }
    });
     
    Ext.create('Ext.tree.Panel', {
        title: 'Simple Tree',
        width: 200,
        height: 150,
        store: store,
        rootVisible: true,
        renderTo: Ext.getBody()
    });
    avec un treegrid dans le treestore tu dois définir les colonnes à afficher (columns)
    tu as un exemple http://docs-origin.sencha.com/extjs/...une/#tree-grid

    A+JYT

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 624
    Par défaut
    Salut Sekaijin,

    J'utilise un Treegrid en mode MVC et effectivement je me suis servi de l'exemple fourni par la doc pour le construire.

    Voici mon model, store et ma vue, je ne comprends pas pourquoi je ne vois pas le texte du Root mais aussi pourquoi le rootVisible: false ne fonctionne pas.

    Peut être pourrais tu jeter un coup d’œil pour voir ce qui ne va pas...
    mon Tree-Grid possède une seule colonne Name. Mon but final est de ne pas afficher le Root mais j'aurai aimé faire fonctionner correctement celui
    avant de cacher le root. Mon JSON est dans le premier post.

    D'avance merci pour ton aide,

    STORE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Ext.define('PP.store.user.Folders', {
        extend:     'Ext.data.TreeStore',
        model:      'PP.model.user.Folder',
        autoLoad:   false
    });
    MODEL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Ext.define("PP.model.user.Folder", {
        extend: 'Ext.data.Model',
     
        fields: [
            {name: 'id',        type: 'string'},
            {name: 'cid',       type: 'string'},
            {name: 'lid',       type: 'string'},
            {name: 'name',      type: 'string'},
            {name: 'comment',   type: 'string'},
            {name: 'created',   type: 'string' }, 
            {name: 'updated',   type: 'string' }, 
            {name: 'result',    type: 'int'},
            {name: 'lft',       type: 'int'},
            {name: 'rght',      type: 'int'},
            {name: 'level',     type: 'int'}
        ],
     
        // On fournit un proxy AJAX au modèle
        proxy: {
            type: 'ajax',        
            url: 'data/datatree.json'  
        }
    });
    et enfin ma VUE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Ext.define("PP.view.TreeFolders", {
        extend      : 'Ext.tree.Panel',
        alias       : 'widget.treefolders',
        xtype       : 'tree-grid',
        width       : 250,
        collapsible : true,
        region      : 'west',
        split       : true,
        bodyStyle   : 'background-color:#FFFFFF;',
        bodyPadding : 0,
        defaults: {
            // implicitly create Container by specifying xtype
            style: {
                borderWidth : '0px',
                borderStyle : 'solid'
            }
        },
     
        title           : '<font style="font-size: 18px;">FOLDERS</font>',
        layout          : 'border',
        animate         : true,
        frame           : true,
        useArrows       : true,
     
        rootVisible     : true,
     
        multiSelect     : true,
        singleExpand    : false,
        store           : 'PP.store.user.Folders',
        viewConfig: {
            plugins: {
                ptype: 'treeviewdragdrop',
                appendOnly: true
            }
        },
        hideHeaders     : true,
     
        columns: [{
                    xtype       : 'treecolumn', //this is so we know which column will show the tree
                    text        : 'Name',
                    flex        : 1,
                    sortable    : true,
                    dataIndex   : 'name'
                }
        ]
    });

Discussions similaires

  1. Comment afficher un texte dans une div au survol d'un lien menu ?
    Par ryohazuki100 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 07/12/2014, 13h38
  2. [Débutant] comment afficher un text dans une form
    Par frederic_lh dans le forum VB.NET
    Réponses: 2
    Dernier message: 04/03/2010, 20h10
  3. [phpToPDF] Comment afficher du texte dans le fichier pdf généré ?
    Par ginger4957 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 18/05/2009, 11h16
  4. Réponses: 2
    Dernier message: 16/08/2006, 15h53
  5. Comment afficher du texte dans un JPanel (ex:chat)
    Par remooz dans le forum AWT/Swing
    Réponses: 24
    Dernier message: 05/06/2006, 12h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo