Comment recharger TreeStore?
J'ai nestedlist avec treestore. Lors du chargement de la première fois que le magasin est chargé parfaitement et la liste est affichée selon le magasin. Lorsque je clique sur le bouton actualiser , mon treestore devriez obtenir rechargé avec de nouvelles données (avec le même modèle de données, comme la première fois) et de la liste imbriquée aussi besoin d'être rechargée avec un nouveau jeu de données.
Ci-dessous est mon treestore définition
rightPaneStoreData = getFolderListData();
rightPaneStore =new Ext.data.TreeStore({
autoLoad:false,
model: 'FIMT.models.rightPaneModel',
root: rightPaneStoreData,
proxy: {
type: 'memory',
reader: {
type: 'tree',
root: 'items'
}
},
listeners: {
datachanged: function(records){
alert("datachanged");
}
}
});
rightPaneStore.load();
En Ext.les données.JsonStore j'ai accompli le même magasin.méthode loaddata (). Mais je ne pourrais pas trouver loaddata() méthode pour TreeStore.
De bien vouloir m'aider.
OriginalL'auteur shatthi | 2011-08-23
Vous devez vous connecter pour publier un commentaire.
C'est de travailler pour moi. Je suis en utilisant MVC et ce code est appelé dans mon contrôleur.
C'est un travail, mais, avez-vous une idée de pourquoi ça prend trop de temps pour supprimer les enregistrements de mon treestore
OriginalL'auteur Aris Bartee
OriginalL'auteur M.A.K. Ripon
La
TreePanel
n'ont pas un magasin comme unJsonStore
. Il affiche automatiquement tous les nœuds, et recharge en cas de besoin.Dans le cas où votre rootNode (
rightPaneStoreData
) est unAsyncTreeNode
(chargé via AJAX), vous pouvez utiliser:rightPaneStoreData.reload()
(parce que
rightPaneStoreData
est votre nœud racine).ou bien (plus générique):
tree.root.reload();
(où l'arbre est une référence à votre arbre)
Si ce n'est pas un
ASyncTreeNode
, vous devrez le faire manuellement.Appelez votre
getFolderListData()
fonctionner de nouveau, et l'attribution de la nouvelle racine de l'arbre. (tree.setRootNode()
)Existe-il des erreurs sur votre console? (Chrome Devtools / Firefox Firebug?)
Oui en chrome, il est dit reload() n'est pas disponible pour mon rightpanestoredata de référence & treestore de référence.
- Je automatiquement vous l'aurez deviné, nous sommes à l'aide d'une base d'AJAX arbre (ASyncTreeNode). Si vous créez manuellement votre arbre sur le côté client (et non pas par le biais d'un
dataUrl
), vous devrez mettre à jour manuellement/recharger votre arbre aussi.S, je ne suis pas le chargement de la banque de données à partir de l'url. Im chargement treestore manuellement. De bien vouloir me donner des exemple de comment mettre à jour manuellement ou de recharger le treestore.
OriginalL'auteur Grad van Horck
Vous pouvez recharger l'arbre à l'aide d'une mémoire de proxy. Voir la réponse dans Comment mettre à jour la Liste Imbriquée/Arbre de Magasin dans le Sencha Touch?
OriginalL'auteur Steffen Müller
OriginalL'auteur MacGyver