Bonjour,

Je débute en Extjs et je galère un peu à faire fonctionner un TreeGrid avec un JSON dynamique. voici mon code:
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
 
Ext.onReady(function() {
        Ext.QuickTips.init();        
 
        var tree = new Ext.ux.tree.TreeGrid({
            width: 800,
            height: 500,
            animate: true,
            enableDD: true,
            autoScroll: true,
            columns:[{
                header: 'Compétence',
                dataIndex: 'text',
                sortable: false,
                width: 600
            },{
                header: 'Valeur requise',
                dataIndex: 'valeurRequise',
                sortable: false,
                align: 'center',
                width: 100
            },{
                header: 'Heritage',
                dataIndex: 'heritage',
                sortable: false,
                align: 'center',
                width: 100
            }],
            dataUrl:'<%=request.getContextPath()%>/servlet/com.sharedvalue.servlet.inet.http.moveTo?MNEMO=FPOSTE_REPERE&SP=<%=userSession.getCurrentSpace()%>&ROLE=<%=userSession.getCurrentRole()%>&ACTION=GETJSON&ID=<%=sId%>&idPrFather=<%=idPrFather%>&idPrType=<%=idPrType%>',
            root: {
                    nodeType: 'async',
                    text: 'root',
                    draggable: false,
                    id: '0',
                    expand: true
                }
        });
 
        tree.render('gridCompetence');
 
    });
Maintenant voici la structure de mon JSON:
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
{"text":"root","children":[
    {"text":"Compétences comportementales","children":[
        {"heritage":"Informatique","text":"Vivre et promouvoir les valeurs NTB","leaf":"true","valeurRequise":"Maitrise","id":40},
        {"heritage":"bla","text":"S’engager et agir","leaf":"true","valeurRequise":"Maitrise","id":41},
        {"heritage":"bla","text":"Avoir l’esprit d’équipe et de coopération","leaf":"true","valeurRequise":"Maitrise","id":42},
        {"heritage":"Informatique","text":"Être orienté résultat","leaf":"true","valeurRequise":"Maitrise","id":43},
        {"heritage":"bla","text":"Favoriser le changement et l’initiative","leaf":"true","valeurRequise":"Maitrise","id":44},
        {"heritage":"Informatique","text":"Communiquer","leaf":"true","valeurRequise":"Maitrise","id":45},
        {"heritage":"bla","text":"Etre acteur de son propre développement","leaf":"true","valeurRequise":"Maitrise","id":46},
        {"heritage":"bla","text":"Analyser","leaf":"true","valeurRequise":"Maitrise","id":47},
        {"heritage":"bla","text":"Prévenir et gérer un conflit","leaf":"true","valeurRequise":"Maitrise","id":48},
        {"heritage":"bla","text":"Contrôler","leaf":"true","valeurRequise":"Maitrise","id":49}
    ],"id":513},
    {"text":"Compétences techniques","children":[
        {"heritage":"bla","text":"Systems Integration","leaf":"true","valeurRequise":"Maitrise","id":15},
        {"heritage":"bla","text":"Testing","leaf":"true","valeurRequise":"Maitrise","id":16},
        {"heritage":"bla","text":"Solution Deployment","leaf":"true","valeurRequise":"Maitrise","id":17},
        {"heritage":"bla","text":"Technical Publications Development","leaf":"true","valeurRequise":"Maitrise","id":18},
        {"heritage":"bla","text":"User Support","leaf":"true","valeurRequise":"Maitrise","id":19},
        {"heritage":"bla","text":"Change Support","leaf":"true","valeurRequise":"Maitrise","id":20},
        {"heritage":"bla","text":"Service Delivery","leaf":"true","valeurRequise":"Maitrise","id":30},
        {"heritage":"bla","text":"Problem Management","leaf":"true","valeurRequise":"Maitrise","id":21},
        {"heritage":"Informatique","text":"Channel Management","leaf":"true","valeurRequise":"Maitrise","id":27}
    ],"id":515}],
"id":"0"}
L'exécution de ce code me renvoi cette erreur: node.attributes is undefined

Ai-je le "droit" de ne mettre les attributs héritage et valeurRequise uniquement sur les éléments fils ?
Merci d'avance pour votre aide.