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 16/11/2011, 22h57   #1
Membre du Club
 
Homme
Étudiant
Inscription : mars 2011
Messages : 136
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2011
Messages : 136
Points : 51
Points : 51
Par défaut un grille avec un JsonRestStore ne fonctionne qu'en script

Je charge un magasin de données dojo.store.JsonRestStore pour les presenter ensuite dans une grille (dojox.data.Grid) pour ça je passe par une structure intermediare le dojo.data.ObjectStore

Code javascript :
1
2
var store = new dojo.store.JsonRest({target:"/users"});
var dataStore = new dojo.data.ObjectStore({objectStore: store});

Ensuite j'ai tésté la maniere en-script :

Code javscript :
1
2
3
4
5
6
7
8
9
10
11
12
  var grid = new dojox.grid.DataGrid({
store: dataStore,
structure: [
{name: "Prenom", field: "prenom", width:"200px"},
{name: "Nom", field: "nom", width:"200px"},
{name:"Pôle", field: "pole", width:"200px"},
{name:"Numero", field: "numero", width:"200px"},
{name:"Adresse", field: "adresse", width:"200px"},
{name:"Etudes", field: "niveau", width:"200px"}
]}, "grid");
          grid.startup();
        });

Aucun problème tout marche bien. Mais quand j'essaie de le faire directement avec des balises

Code html :
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
<table id="grid" jsId="grid" dojoType="dojox.grid.DataGrid" store="dataStore" query="{id: '*'}" clientSort="true" style="width: 100%; height: 100%;" rowSelector="20px">
  <thead>
    <th field="prenom" width="200px">
      Prenom
    </th>
    <th field="nom" width="200px">
      Nom
    </th>
    <th field="pole" width="150px">
      Pôle
    </th>
    <th field="numero" width="200px">
      Numero
    </th>
    <th field="adresse" width="200px">
      Adresse
    </th>
    <th field="niveau" width="200px">
      Etudes
    </th>
  </thead>
  <script type="dojo/connect">
    this.startup();
  </script>
</table>

Ca ne marche pas je pense que c'est un problème au niveau du script dans la table grid pour simuler le startup. Je n'arrive pas trouver l'evenement correspondant (j'ai essayé onAfterLoad, afterLoad, onFinishLoad).
ernestrenan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2011, 08h44   #2
Membre du Club
 
Inscription : avril 2009
Messages : 72
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 72
Points : 56
Points : 56
Salut, dans la logique Dojo tu n'as pas à faire un startup manuellement sur un code markup ...

Quelle version de dojo utilises tu ? Il faut maintenant utiliser data-dojo-type au lieu de dojoType et idem pour les propriétés. Voir ce lien : http://dojotoolkit.org/features/1.6/...ata-attributes

Ensuite il faut maintenant faire un require sur dojo.parser manuellement.

Tout ça pour dire que sans un exemple complet on ne peut pas te dire grand chose
cfried est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2011, 15h27   #3
Membre du Club
 
Homme
Étudiant
Inscription : mars 2011
Messages : 136
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2011
Messages : 136
Points : 51
Points : 51
Qu'est ce qui n'est pas complet dans mon exemple ?
ernestrenan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 08h31   #4
Membre du Club
 
Inscription : avril 2009
Messages : 72
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 72
Points : 56
Points : 56
Citation:
Envoyé par ernestrenan Voir le message
Qu'est ce qui n'est pas complet dans mon exemple ?
Salut, on ne voit pas dans quel contexte est utilisé ta table, ce que tu fais comme appel en css et javascript et surtout quelle configuration de dojo et avec quelle version tu travailles.

Ensuite comme dit plus haut, vérifie que tu appelles dojo.parser manuellement.
cfried est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 15h25   #5
Membre du Club
 
Homme
Étudiant
Inscription : mars 2011
Messages : 136
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2011
Messages : 136
Points : 51
Points : 51
Y a rien d'autre que ma table c'est juste un petit test pour moi pour voir si ça apporte quelque chose de faire un combo dojo+rails. Sinon je suis à la 1.6.
ernestrenan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 15h42   #6
Membre éprouvé
 
Gibot Daniel
Inscription : janvier 2010
Messages : 314
Détails du profil
Informations personnelles :
Nom : Gibot Daniel
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : janvier 2010
Messages : 314
Points : 440
Points : 440
Bonjour,

Avez vous essayé en n'utilisant que l'objet "store" créé avec le jsonRest ?
Je ne pense pas que ce soit nécessaire de passer par un objectStore avant.
Daniel_Gibot est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/11/2011, 10h55   #7
Membre du Club
 
Homme
Étudiant
Inscription : mars 2011
Messages : 136
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2011
Messages : 136
Points : 51
Points : 51
Genial merci ! Comme quoi la simplicité ....
ernestrenan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h09.


 
 
 
 
Partenaires

Hébergement Web