|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre à l'essai
![]() Inscription : juin 2007 Messages : 70 ![]() |
Bonjour
Je travaille avec EXT JS 4.0. Je cherche à mettre au point une page d'accueil qui proposerait, à l'aide d'un menu, des statistiques sous forme de graphes. le problème : Lorsqu'un utilisateur clique dans un choix du menu, le graphe s'affiche (jusque là : ça va), mais lorsqu'il choisit un autre item du menu, le nouveau graphe s'affiche SOUS le précédent et non à sa place, comme je l'aurais souhaité. Le graphe est construit dans un panel (c'est un item du panel) ; et le panel est rendu dans une DIV (déclaré dans un php). J'ai essayé de : - détruire la div - détruire le panel (destroy, remove ...) - mettre à jour le panel (update) ... rien n'y fait : j'ai toujours les graphes qui s'empile à l'affichage. Extrait du code qui comprend : le menu 2 graphes : un diagramme en bâton et un camembert. Dans les 2 cas, le panel s'appelle avec originalité : "panel1" Code :
Comment fait-on pour détruire un panel ou pour faire en sorte qu'un graphe remplace l'autre dans mon problème ? merci de vos propositions. cordialement |
||
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() ![]() Julien FiorentinoInscription : novembre 2007 Messages : 201 ![]() |
Bonjour,
Comment t'y prends tu pour le détruire ton panel ? Si tu le détruis correctement avant d'en afficher un autre tu ne devrais pas avoir de problème. En Extjs4 tu peux détruire les items de ton panel grace à cette méthode: Code :
removeDocked( Ext.Component item., [Boolean autoDestroy] ) : Void Pourquoi faire un new Panel tout le temps ? un remove/add de l'item de ce panel suffirait.. |
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : juin 2007 Messages : 70 ![]() |
Merci JulienFio de t'être penché sur mon problème.
En effet, il y a un certain nombre d'idioties dans mon code. Faut dire que je suis parti des sources EXTjs sans vraiment les comprendre. Cependant, je ne sais pas comment faire pour obtenir dans le même panel n graphes (qui changent selon le choix dans le menu) sans faire un new à chaque fois. SI je le déclare une seule fois au début, comment décrire les items des différents types de graphes ? En tout cas merci, je vais y réfléchir. cordialement |
|
|
00
|
|
|
#4 | ||
|
Membre éclairé
![]() ![]() Julien FiorentinoInscription : novembre 2007 Messages : 201 ![]() |
L'idée est de définir ton panel en dehors des méthodes baton et camembert. Ces deux méthodes vont seulement te servir à mettre à jours le contenu de ce panel.
C'est important de définir des ID sur tes panel et items, de façon à pouvoir les récupérer facilement. Code :
addDocked( Object/Array component., [Number pos] ) : Void Adds docked item(s) to the panel. Parameters component. : Object/Array The Component or array of components to add. The components must include a 'dock' parameter on each component to indicate where it should be docked ('top', 'right', 'bottom', 'left'). pos : Number (optional) The index at which the Component will be added Ceci est censé te donné une idée sur la facon de faire, je n'ai en aucun cas testé ce code et je ne pense pas qu'il focntionne tel quel |
||
|
|
00
|
|
|
#5 | ||
|
Membre à l'essai
![]() Inscription : juin 2007 Messages : 70 ![]() |
Merci Julien
J'ai utilisé ta suggestion Voici le code : Code :
Seul bémol, mais de taille, les graphiques ne s'affichent pas ! mais c'est surement la bonne piste. cordialement |
||
|
|
00
|
|
|
#6 | ||||
|
Membre éclairé
![]() ![]() Julien FiorentinoInscription : novembre 2007 Messages : 201 ![]() |
Il s'agit d'un problème lors de l'ajout de ton item, mon exemple n'est pas correct.
Essayes plutot de les ajouter comme ceci: Code :
Code :
|
||||
|
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : juin 2007 Messages : 70 ![]() |
Désolé Julien,
les 2 propositions ne fonctionnent pas. En outre, si on ne détruit plus les containers, les graphes ne vont plus se remplacer les uns les autres sur le même emplacement ! J'avais déjà exploré une solution de ce type mais les graphes ne s'affichaient pas non plus, c'est pourquoi je voulais m'orienter vers une solution brutale de suppression de div. merci encore pour ta patience. cordialement |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com