|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : novembre 2005 Messages : 26 ![]() |
Bonjour,
je tente d'afficher un datagrid dans une dialogBox. Si je le met seul, il s'affiche correctement a compter de la seconde ouverture de la dialogBox (a la premiere ouverture, les colonnes font 0px). Si j'ajoute derriere du code html (un simple bloc <p></p> par exemple), le dataGrid ne s'affiche plus du tout. Ci dessous le code utilise : Code :
|
||
|
|
00
|
|
|
#2 |
|
Invité régulier
![]() Inscription : novembre 2005 Messages : 26 ![]() |
Apres quelques tests, ils se trouve que le probleme survient a compter du 2eme appel a setStore.
Avez vous une idee sur une potentielle cause au probleme ? |
|
|
00
|
|
|
#3 |
|
Membre éprouvé
![]() Gibot DanielInscription : janvier 2010 Messages : 313 ![]() |
Bonjour,
Je ne sais pas ou vous avez votre appel au "setStore" mais à la création du store, il y a une option "clearOnClose = true" qui peut peut être résoudre votre problème. |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : novembre 2005 Messages : 26 ![]() |
l'appel a setStore se fait suite a une requete ajax, juste avant l'affichage de la dialogBox contenant le dataGrid.
A la premiere ouverture, il prend bien l'espace vertical, mais pas l'horizontal (on ne voit qu'une ligne en pointille). A la seconde ouverture, le reste du contenu de la dialogBox est colle en haut, comme si le dataGrid avait disparu (il doit faire une hauteur de 0px en fait) L'option clearOnClose ne semble pas fonctionner |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : novembre 2005 Messages : 26 ![]() |
Bon ... j'ai trouve la raison ... mais ne sait comment resoudre le pb :
le dataGrid est en fait contenu dans un dojox.widget.Dialog ... hors, cette dialogBox (c'est pkoi je l'utilise) utilise un effet sympathique pour s'ouvrir (elle s'agrandit progressivement jusqu’à obtenir sa taille finale). LE soucis c'est que le setStore doit se faire avant (c'est meme sur) que la dialogBox s'agrandisse ... donc le dataGrid se dimensionne mal. J'ai fait le test avec un dijit.Dialog et ca fonctionne tres bien. Y'a'til moyen de : - recuperer un event de fin d'affichage de la dialogBox - relancer l'affichage du dataGrid ? |
|
|
00
|
|
|
#6 |
|
Membre éprouvé
![]() Gibot DanielInscription : janvier 2010 Messages : 313 ![]() |
Bonjour,
Je n'ai pas trouvé d'event de fin d'affichage. Il y a bien un event pour les effets de fadeIn et fadeOut (les fondus de transparence) mais ils ne correspondent pas à la fin de l'affichage. Eventuellement, essayez de mettre une taille fixe à votre dialogBox. Je pense que ca résoudra votre problème. Comme vous l'avez dit, le fait d'avoit la hauteur en automatique sur le dataGrid doit faire défaut quand il se charge alors que la dialogBox n'est pas à sa taille finale. |
|
|
00
|
|
|
#7 |
|
Membre éprouvé
![]() Gibot DanielInscription : janvier 2010 Messages : 313 ![]() |
Bonjour,
je sais que ça fait un peu long pour résoudre ce problème mais je l'ai rencontré en utilisant le "dojox.widget.Dialog" qui fait un effet à l'ouverture. Si le datagrid disparaît c'est parce qu'il est créé à l'ouverture de la dialogbox et surtout qu'il n'a pas de largeur définie. Or il s'adapte à la largeur de la dialogbox. Plus long est l'affichage de la box plus petit sera l'affichage du datagrid.Ainsi il peut ne pas apparaître ou plutôt faire une largeur de 0px. Pour résoudre ce soucis il suffit de définir une longueur au datagrid. |
|
|
10
|
Copyright © 2000-2012 - www.developpez.com