Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Dojo
Dojo Forum d'entraide sur le framework Dojo
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/02/2011, 23h20   #1
Invité régulier
 
Inscription : novembre 2005
Messages : 26
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 26
Points : 7
Points : 7
Par défaut dojox.grid.dataGrid qui disparait

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 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<div id='Ticket_index_dialog' dojoType='dojox.widget.Dialog' title='Ticket' sizeToViewport='true' viewportPadding="100" showTitle='true' sizeDuration='1000' easing='dojo.fx.easing.backOut' modal='true'>
    <script type="dojo/method" event="onHide" args="evt">
        dijit.byId("Form_Ticket_view").reset();
    </script>    
    <table id='Ticket_view_grid' dojoType='dojox.grid.DataGrid' autoHeight='true'>
    	<thead>
    		<tr>
    			<th field='users_login' width='100px'>Posteur</th>
    			<th field='date' width='150px'>Date</th>
    			<th field='contenu' width='auto'>Message</th>
    		</tr>
    	</thead>
    </table>
    <p>pouet</p>
</div>
Une idee pour que cette dataGrid s'affiche correctement a chaque fois ?
Guildux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2011, 14h41   #2
Invité régulier
 
Inscription : novembre 2005
Messages : 26
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 26
Points : 7
Points : 7
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 ?
Guildux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2011, 15h43   #3
Membre éprouvé
 
Gibot Daniel
Inscription : janvier 2010
Messages : 313
Détails du profil
Informations personnelles :
Nom : Gibot Daniel
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : janvier 2010
Messages : 313
Points : 439
Points : 439
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.
Daniel_Gibot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2011, 12h25   #4
Invité régulier
 
Inscription : novembre 2005
Messages : 26
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 26
Points : 7
Points : 7
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
Guildux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2011, 22h40   #5
Invité régulier
 
Inscription : novembre 2005
Messages : 26
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 26
Points : 7
Points : 7
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

?
Guildux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 11h00   #6
Membre éprouvé
 
Gibot Daniel
Inscription : janvier 2010
Messages : 313
Détails du profil
Informations personnelles :
Nom : Gibot Daniel
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : janvier 2010
Messages : 313
Points : 439
Points : 439
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.
Daniel_Gibot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 09h20   #7
Membre éprouvé
 
Gibot Daniel
Inscription : janvier 2010
Messages : 313
Détails du profil
Informations personnelles :
Nom : Gibot Daniel
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : janvier 2010
Messages : 313
Points : 439
Points : 439
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.
Daniel_Gibot est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h06.


 
 
 
 
Partenaires

Hébergement Web