2009-11-05 4 views
0

Je suis en mesure de créer une réponse JSON comme ceci:Comment recharger les résultats Jsonstore sur le panneau?

{"total":2,"results":[{"id":1,"checkList":"Item1","checkStatus":"Available"},{"id":2,"checkList":"Item2","checkStatus":"NoStock"}]} 

J'ai aussi créé une fonction et l'intégrer à l'auditeur sur le Jsonstore. La boucle de volonté fonction par les résultats et l'intégration dans les panneaux disponibles (appelé stockpanel1, stockpanel2, etc.) et de les ajouter au panneau principal:

mainpanel.add(stockpanel); 

Je souhaite un taskrunner pour recharger et saisir le résultat JSON sur tous les 10 secondes. Et je voudrais savoir comment mettre à jour les nouveaux résultats de JSON aux stockspanels toutes les 10 secondes? Ai-je besoin d'ajouter ou de retirer les panneaux de stock ou autre?

Merci.

Répondre

0

Vous avez la bonne idée. Après le chargement des données, re-peupler le panneau. Donc, quand ce JsonStore est initialisé, vous voulez lancer votre taskrunner.

Cette fonction s'exécute toutes les 10 secondes, rechargeant le magasin. (Non testé)

var taskrunner = function(store) { 
    store.reload(); 
    taskrunner.defer(10*1000, this, [store]); 
} 
taskrunner(Ext.getCmp('jsonstore')); 

événement 'charge' de la JsonStore doit appeler

mainpanel.removeAll(); 

avant d'ajouter les nouvelles stockpanels.

+0

Merci Jonathan. Ça marche bien. Maintenant, je comprends pourquoi cela ne fonctionne pas pour moi auparavant, car j'avais le panneau de suppression dans le taskrunner au lieu de la fonction d'événement 'load'. –

Questions connexes