Bonjour,

J'ai un treeGrid avec un store obtenu depuis ma servlet. Mon problème c'est que je n'arrive pas à récupérer le store de mon treeGrid pour le renvoyer à ma servlet de façon à ce qu'elle puisse faire des traitements en base selon les changement d'ordre dans mon arbre.

Voici mon code javascript:
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
Ext.onReady(function() {
    Ext.QuickTips.init();
 
    var storeLoader = new Ext.tree.TreeLoader({
            url: '<%=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%>',
            uiProviders:{
                'col': Ext.ux.tree.ColumnNodeUI
            }
            });
 
    var root = new Ext.tree.AsyncTreeNode({
        text: 'source', //texte du noeud
        draggable: false, // Désactiver le Drag and drop sur ce noeud
        id: '0'
    });
 
    var tree = new Ext.ux.tree.TreeGrid({
        id: 'treeCompetence',
        height: 300,
        renderTo: 'gridCompetence',
        enableDD: true,
        rottVisible: false,
        animate:true, 
        columnResize : true,
        enableSort : false,
        autoScroll: true,
        containerScroll: true,
        forceFit: true,
        columns:[{
            header: 'Compétence',
            dataIndex: 'text',
            sortable: false,
            fixed: true,
            width: 500
        },{
            header: 'Valeur requise',
            dataIndex: 'valeurRequise',
            sortable: false,
            align: 'center',
            fixed: true,
            width: 100
        },{
            header: 'Heritage',
            dataIndex: 'heritage',
            sortable: false,
            align: 'center',
            fixed: true,
            width: 100
        }
        ],
        tbar:[{
                text: '<sv:label idModule="600" idLabel="53" escapeJavascript="true" defaultValue='Delete'/>',
                tooltip: '<sv:label idModule="600" idLabel="37" escapeJavascript="true" defaultValue='Click to delete selected node'/>',
                tooltipType: 'title',
                id: 'delComp',
                align: 'right',
                disabled: true,
                icon: '<%=request.getContextPath()%>/images/global/skin/icons/cross.png',
                handler : function(){
                    var treeCompetence = Ext.getCmp('treeCompetence');
                    var selectedNode = treeCompetence.selModel.selNode;
                    detachComp(selectedNode.attributes.id);
                }
            },{
                text: 'Sauvegarder l\'ordre',
                tooltip: '<sv:label idModule="600" idLabel="37" escapeJavascript="true" defaultValue='Click to delete selected node'/>',
                tooltipType: 'title',
                id: 'saveOrder',
                align: 'right',
                disabled: true,
                icon: '<%=request.getContextPath()%>/images/global/skin/icons/disk.png',
                handler : function(){
 
                }
            }],
        listeners: {
            dblclick : function(node, e ){
                if(node.attributes.cls != "task-folder"){
                   document.location.href = '<%=request.getContextPath()%>/servlet/com.sharedvalue.servlet.inet.http.moveTo?SP=<%=userSession.getCurrentSpace()%>&ROLE=<%=userSession.getCurrentRole()%>&MNEMO=FCOMPETENCE&IDGRPED='+node.parentNode.attributes.id+'&ID='+node.attributes.id+'&IDPR='+node.attributes.IDPRNEW+'&IDPRNEW=<%=aPoste.getId()%>&ACTION=U';
                }
            },
            click : function(node, e ){               
                if(node.attributes.cls != "task-folder" && node.attributes.cls != "rouge"){
                    Ext.getCmp('delComp').enable();
                }else{
                    Ext.getCmp('delComp').disable();
                }                
            },
            nodedrop : function(e){
                Ext.getCmp('saveOrder').enable();                
            },
            beforenodedrop : function(e){
                if(e.dropNode.parentNode.id != e.target.parentNode.id){
                    e.cancel = true;
                    if(e.target.parentNode.text == 'source'){
                        alert('Vous ne pouvez pas déplacer cette compétence dans le groupe: '+e.target.text);
                    }else{
                        alert('Vous ne pouvez pas déplacer cette compétence dans le groupe: '+e.target.parentNode.text);
                    }
                }
            }
        },
        loader: storeLoader,
        root: root
    });
 
 
});
j'ai essayé getStore mais cela me renvoie une erreur: getStore() is not a function.
Pareil pour getTreeStore()

edit: Je précise qu'il me faut récupérer le store avec les changements d'ordre des éléments (s'il y a eu changement d'ordre)


Merci à vous.