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 :

Creation dojox.grid.datagrid programmatical


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre régulier Avatar de moukit233
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    240
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 240
    Points : 123
    Points
    123
    Par défaut Creation dojox.grid.datagrid programmatical
    Salut,
    je veux creer une dojox.grid.datagrid apres clique sur une bouton
    voila mon code :
    en js j'ai mis :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    var listeObjets = response.items[0].listeObjets;
                    var layoutGridResultat = "[";
                    for(i=0 ; i<listeObjets.length ; i++) {
                        var nameColonne= listeObjets[i]['label'];
                        var field = listeObjets[i]['id'];
                        if (i == listeObjets.length-1) {
                            layoutGridResultat = layoutGridResultat + "{field: 'field',name: '"+nameColonne+"',width: '200px'}";
                        } else {
                            layoutGridResultat = layoutGridResultat + "{field: 'field',name: '"+nameColonne+"',width: '200px'},";
                        }
                    }
                    layoutGridResultat = layoutGridResultat + "]";
                    dataItems = {
                            label: 'titre',
                            items: listeVal
                    };
                    var data = new dojo.data.ItemFileWriteStore({data: dataItems});
                    // create a new grid:
                    var gridResultat = new dojox.grid.DataGrid({
                        store: data,
                        clientSort: true,
                        rowSelector: '20px',
                        structure: layoutGridResultat
                    },
                    document.createElement('div'));
     
                    // append the new grid to the div "gridContainer4":
                    dojo.byId("gridContainer4").appendChild(gridResultat.domNode);
                    // Call startup, in order to render the grid:
                    gridResultat.startup();
    et ds le view j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <div id="gridContainer4" style="width: 100%; height: 100%;">
    </div>
    je ne sais pas pourquoi je n'oubtien aucune resultat ?

    merci d'avance de m'aider
    «En théorie, la théorie et la pratique sont les mêmes. En pratique, ils le sont pas."
    Albert Einstein.

  2. #2
    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,

    Ton field est tout le temps le meme. Je pense que ca a une incidence.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    layoutGridResultat = layoutGridResultat + "{field: 'field',name: '"+nameColonne+"',width: '200px'}";
    Comme tu recuperes une valeur pour le field.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var field = listeObjets[i]['id'];
    Tu devrais plutot ecrire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    layoutGridResultat = layoutGridResultat + "{field: '"+field+"',name: '"+nameColonne+"',width: '200px'}";

  3. #3
    Membre régulier Avatar de moukit233
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    240
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 240
    Points : 123
    Points
    123
    Par défaut
    Salut,
    Merci pr votre reponse

    en fait j'ai fait ça :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    var listeObjets = response.items[0].listeObjets;
    var tabFields = new Array();
    var objField = {field: 'id',name: 'id',width: '150px'};
    tabFields.push(objField);
    for(i=0 ; i<listeObjets.length ; i++) {
          var nameColonne= listeObjets[i]['label'];
          var field = listeObjets[i]['id'];
          var objField = {
                                field: ''+field+'',
                                name: ''+nameColonne+'',
                                width: '150px'
                            };
          tabFields.push(objField);
     }
    var structureGridResultat = tabFields;
    dataItems = {
         label: 'titre',
         items: listeVal
    };
    var data = new dojo.data.ItemFileWriteStore({data: dataItems});
     // create a new grid:
    var gridResultat = new dojox.grid.DataGrid({
           store: data,
           clientSort: true,
           rowSelector: '20px',
           structure: structureGridResultat
    },
    document.createElement('div'));
     
    // append the new grid to the div "gridContainer4":
    dojo.byId("gridContainer4").appendChild(gridResultat.domNode);
    // Call startup, in order to render the grid:
    gridResultat.startup();
    et ça marche si je clique sur la bouton pr la 1 fois il creer la grid
    mais la 2eme il creer aussi grid mais moi je veux juste Actualiser grid ds la 2eme clique pas creer grid
    «En théorie, la théorie et la pratique sont les mêmes. En pratique, ils le sont pas."
    Albert Einstein.

  4. #4
    Membre régulier Avatar de moukit233
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    240
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 240
    Points : 123
    Points
    123
    Par défaut
    Re,
    il me semble que je vais utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (dijit.byId('gridResultat')) {
         //je vais actualise le store grid
    } else {
         //je vais creer la grid
    }
    merci BON DEV
    «En théorie, la théorie et la pratique sont les mêmes. En pratique, ils le sont pas."
    Albert Einstein.

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