IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

dojox.grid.dataGrid qui disparait [Dojo]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 26
    Points : 19
    Points
    19
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

  2. #2
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    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 ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2010
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2010
    Messages : 322
    Points : 535
    Points
    535
    Par défaut
    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.

  4. #4
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    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

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    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

    ?

  6. #6
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2010
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2010
    Messages : 322
    Points : 535
    Points
    535
    Par défaut
    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.

  7. #7
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2010
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2010
    Messages : 322
    Points : 535
    Points
    535
    Par défaut
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Dojo] recuperer un dojox.grid.DataGrid vide
    Par moukit233 dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 28/01/2010, 12h08
  2. [Dojo] Dijit.form.select dans un dojox.Grid.DataGrid
    Par moukit233 dans le forum Bibliothèques & Frameworks
    Réponses: 13
    Dernier message: 19/11/2009, 11h07
  3. [Dojo] onRowDblClick de dojox.grid.DataGrid
    Par Zineb1987_UNI dans le forum Bibliothèques & Frameworks
    Réponses: 9
    Dernier message: 19/09/2009, 16h20
  4. [Dojo] Actualisation grid (dojox.grid.DataGrid)
    Par moukit233 dans le forum Bibliothèques & Frameworks
    Réponses: 4
    Dernier message: 07/09/2009, 10h05
  5. [Dojo] dojox.grid.DataGrid : prise de tete
    Par linotte91 dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 19/06/2009, 15h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo