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 : prise de tete [Dojo]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 67
    Points : 50
    Points
    50
    Par défaut dojox.grid.DataGrid : prise de tete
    Bonjour,
    J'ai beau torturer mon code d'après les exemples trouvés ça et là, et je n'arrive pas à afficher correctement un DataGrid avec un petit exemple de test !!
    Je ne sais pas ce qui coince, j'ai l'impression de faire comme les autres gens, et pourtant.
    Voici ma page de test , version 'html' :
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <style>
        @import "../js/dojo-release-1.3.1/dojox/grid/_grid/Grid.css";
        @import "../js/dojo-release-1.3.1/dojox/grid/_grid/tundraGrid.css";
        @import "../js/dojo-release-1.3.1/dijit/themes/tundra/tundra.css";
        @import "../js/dojo-release-1.3.1/dojo/resources/dojo.css";
    </style>
    <script type="text/javascript" src="../js/dojo-release-1.3.1/dojo/dojo.js"
          djConfig="isDebug:true, parseOnLoad: true"></script>
    <script type="text/javascript">
        dojo.require("dijit.layout.BorderContainer");
        dojo.require("dijit.layout.ContentPane");
        dojo.require("dojox.grid.DataGrid");
        dojo.require("dojo.data.ItemFileWriteStore");
        dojo.require("dojo.parser");
     
      var data = {identifier: 'name', labe: 'name', items: [
        {name: 'France', capital: 'Paris'},
        {name: 'Espagne', capital: 'Madrid'},
        {name: 'Portugal', capital: 'Lisbonne'},
        {name: 'Autriche', capital: 'Vienne'},
        {name: 'Allemagne', capital: 'Berlin'},
        {name: 'Belgique', capital: 'Bruxelles'},
        {name: 'Italie', capital: 'Rome'},
      ]};
      var jsonStore;
      jsonStore = new dojo.data.ItemFileWriteStore({data: data});  
    </script>	  
    <title>Test page for dojox.grid.DataGrid</title>
    </head>
    <body class="tundra">
          <table dojoType="dojox.grid.DataGrid"
                 jsId="grid" id="grid"
                 store="jsonStore" query="{ name: '*' }"
                 rowsPerPage="20">
            <thead>
              <tr>
                <th width="50%" field="name">Pays</th>
                <th width="50%" field="capital">Capitale</th>
              </tr>
            </thead>
          </table> 
    </body>
    </html>
    et la verion 'programmatic' :
    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
    35
    36
    37
    38
    39
    40
    41
    42
     
    ...
    <script type="text/javascript">
        dojo.require("dijit.layout.BorderContainer");
        dojo.require("dijit.layout.ContentPane");
        dojo.require("dojox.grid.DataGrid");
        dojo.require("dojo.data.ItemFileWriteStore");
        dojo.require("dojo.parser");
     
      var data = {identifier: 'name', labe: 'name', items: [
        {name: 'France', capital: 'Paris'},
        {name: 'Espagne', capital: 'Madrid'},
        {name: 'Portugal', capital: 'Lisbonne'},
        {name: 'Autriche', capital: 'Vienne'},
        {name: 'Allemagne', capital: 'Berlin'},
        {name: 'Belgique', capital: 'Bruxelles'},
        {name: 'Italie', capital: 'Rome'},
      ]};
      var jsonStore;
      jsonStore = new dojo.data.ItemFileWriteStore({data: data});
      function initGrid() {
          jsonStore = new dojo.data.ItemFileWriteStore({data: data});
          var grid = new dojox.grid.DataGrid({
             query: { name: '*' },
             store: jsonStore,
             structure: [
               {field: "name", name: "name", width:"50%"},
               {field: "capital", name: "capital", width:"50%"}
             ],
             rowsPerPage: 20
          }, document.createElement('div'));
          dojo.byId('mylist').appendChild(grid.domNode);
          grid.startup();
      }
      dojo.addOnLoad(initGrid());
    </script>	  
    <title>Test page for dojox.grid.DataGrid</title>
    </head>
    <body class="tundra">
    <div id="mylist"></div>
    </body>
    </html>
    Dans le 1er cas les données s'affichent en vrac, je peux rien trier .c'est n'importe quoi.
    Dans le second, rien dans ma page.

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Pas mal, ça, une prise de tête de Linotte

    Ce sont tes CSS qui ne pointent pas vers les bons directory:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <style>
        @import "../js/dojo-release-1.3.1/dojox/grid/resources/Grid.css";
        @import "../js/dojo-release-1.3.1/dojox/grid/resources/tundraGrid.css";
        @import "../js/dojo-release-1.3.1/dojo/resources/dojo.css";
    </style>
    ERE

  3. #3
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut Seconde partie
    Concernant la version programmation.
    Pense à modifier les CSS comme précédemment et alors (les commentaires sont en rouge):
    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
      
    ...
    var jsonStore;
      jsonStore = new dojo.data.ItemFileWriteStore({data: data});
      function initGrid() {
          //Doublon: ne charger le store qu'une seule fois
          //jsonStore = new dojo.data.ItemFileWriteStore({data: data});
          var grid = new dojox.grid.DataGrid({
             query: { name: '*' },
             store: jsonStore,
             structure: [
               {field: "name", name: "name", width:"50%"},
               {field: "capital", name: "capital", width:"50%"}
             ],
             rowsPerPage: 20
          }, 'mylist' /* ON PASSE ICI DIRECTEMENT L'ID QUI T'INTERESSE */);
          
          
          grid.startup();
      }
    ...
      //attention, si tu passes initGrid(), tu exécutes ta fonction, ce qui n'est pas ici
      //attendu: on passe juste un lien (une référence) vers la fonction) 
      dojo.addOnLoad(initGrid);
    Bon dev,

    ERE

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 67
    Points : 50
    Points
    50
    Par défaut Merci!!
    yahouu ! (grand cri de joie) : ça marche dans les deux versions
    Le coup du css j'aurais jamais trouvé !!

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

Discussions similaires

  1. [Dojo] verifier si un Dojox.Grid.Datagrid est vide
    Par moukit233 dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 10/02/2010, 14h44
  2. [Dojo] recuperer un dojox.grid.DataGrid vide
    Par moukit233 dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 28/01/2010, 12h08
  3. [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
  4. [Dojo] onRowDblClick de dojox.grid.DataGrid
    Par Zineb1987_UNI dans le forum Bibliothèques & Frameworks
    Réponses: 9
    Dernier message: 19/09/2009, 16h20
  5. [Dojo] Actualisation grid (dojox.grid.DataGrid)
    Par moukit233 dans le forum Bibliothèques & Frameworks
    Réponses: 4
    Dernier message: 07/09/2009, 10h05

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