|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() ben gr Inscription : octobre 2010 Messages : 49 ![]() |
Bonjour,
Je débute extjs et je ne n'arrive pas à comprendre comment alimenter mon GRID depuis un tableau JSON. Je suis parti de l'exemple basic que l'on trouve sur sencha .http://dev.sencha.com/deploy/ext-4.0...rray-grid.html SI je modifie les données à la main ou en formant une chaine comme dans l'exemple je parviens à intégrer mes données. En revanche je souhaiterais alimenter mon GRID directement depuis mon tableau au format JSON. J'ai vu dans la doc qu'il existait la commande Ext.data.reader.Json. Me permet-elle de lire directement mon tableau au format JSON (issu d'une requete SQL php puis d'un json_encode()) en vue d'alimenter le data store du grid? Si oui avez vous un exemple de cela? Par avance merci, |
|
|
00
|
|
|
#2 | ||||||||
|
Membre éclairé
![]() ![]() Julien FiorentinoInscription : novembre 2007 Messages : 201 ![]() |
Bonjour,
Cela se fait en 3 étapes: en prenant comme exemple ce JSON ci: Code :
Le model est là pour définir la stucture de ton store (tes données). Bien qu'il existe un standard à respecter quand au format du JSON le model va définir quelles seront les champs à traiter. exemple Code :
Le Store est tout simplement le JSON qui tu vas recevoir et qui va 'alimenter' ton gridPanel. Tu définis l'url vers ta classer qui va générer ton JSON Code :
A ce grid tu lui spécifie le Store configuré plus tôt. Code :
|
||||||||
|
|
00
|
|
|
#3 | |||||||
|
Candidat au titre de Membre du Club
![]() ben gr Inscription : octobre 2010 Messages : 49 ![]() |
Merci pour toutes ces informations. J'ai pas encore eu le temps de me pencher dessus (pont oblige).
lorsque tu dis Citation:
Code :
Code :
Code :
|
|||||||
|
|
00
|
|
|
#4 |
|
Membre éclairé
![]() ![]() Julien FiorentinoInscription : novembre 2007 Messages : 201 ![]() |
Donc oui, ton code php doit bien te retourner le JSON.
Par contre je ne suis pas sûr qu'il s'agisse d'une concaténation de chaine, je ne connais pas la procédure exacte en php. Moi je travaille en JAVA et j'utilise la classe JSONObject pour construire mon JSON que je retourne à mon code js
__________________
Non l'homme ne descend pas du singe, il descend plutôt du mouton.. |
|
|
00
|
|
|
#5 | ||
|
Invité régulier
![]() Inscription : février 2007 Messages : 23 ![]() |
Salut,
tu dois effectivement utilisé un json_encode. Voila un code que j'ai utilisé dans un de mes dernier projet. Code :
Code :
[{"IDProjet":"102","LibelleProjet":"Outil export de l'offre","DateDebut":"2011-06-01","DateFin":"2011-06-23","ServiceConcerne":"Informatique","Avancement":"0"},{"IDProjet":"101","LibelleProjet":"Outil d'\u00e9valuation","DateDebut":"2011-06-07","DateFin":"2011-06-22","ServiceConcerne":"Direction","Avancement":"80"}] |
||
|
|
00
|
|
|
#6 |
|
Membre éclairé
![]() ![]() Julien FiorentinoInscription : novembre 2007 Messages : 201 ![]() |
Tuto sencha
DonMero, tu ne spécifie pas de racine dans ton JSON ? "records" dans mon exemple. Propriété qui doit normalement être renseignée dans la déclaration de ton Store Extjs
__________________
Non l'homme ne descend pas du singe, il descend plutôt du mouton.. |
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : février 2007 Messages : 23 ![]() |
Je viens de voir que vous étiez sur la version 4 alors que je bosse en 3.3 donc autant pour moi. Je n'ai pas encore essayer cette version mais je ne savais pas qu'ils avaient modifié la façon de faire. Bon courage en tout cas
|
|
|
00
|
|
|
#8 | |||||||||
|
Candidat au titre de Membre du Club
![]() ben gr Inscription : octobre 2010 Messages : 49 ![]() |
Bsr,
Je suis en train de tester les solutions proposées mais je n'arrive pas à faire marcher mon code. J'ai fais un mix de vos propositions et de l'exemple basic du site sencha http://dev.sencha.com/deploy/ext-4.0...rray-grid.html. J'ai essayé de simplifier au maximum pour bien comprendre le tout. Petite interrogation : que se passe-t-il de plus dans Code :
Mon fichier html : Code :
Code :
Code :
Citation:
Mon tableau s'affiche bien à l'écran, mais il est vide. Est ce que je me suis passé de paramètres essentielles pour réaliser mon tableau? Le format JSON me semble pourtant correcte. |
|||||||||
|
|
00
|
|
|
#9 | ||||
|
Membre éclairé
![]() ![]() Julien FiorentinoInscription : novembre 2007 Messages : 201 ![]() |
Tu y es presque, en version 4 il faut que tu définisses un model, c'est pour cela qu'aucunes données ne s'affichent.
quand toi tu fais: Code :
Code :
define -> déclaration create -> instanciation
__________________
Non l'homme ne descend pas du singe, il descend plutôt du mouton.. |
||||
|
|
00
|
|
|
#10 | ||
|
Candidat au titre de Membre du Club
![]() ben gr Inscription : octobre 2010 Messages : 49 ![]() |
Ci- après mon fichier tableaujs.js final . La tableau se charge mais toujours aucune données à l'horizon. Tu vois un problème quelconque? Et pourquoi l'exemple fait le choix d'utiliser des variables quand toi tu déclares un nouveau tableau?
Code :
|
||
|
|
00
|
|
|
#11 | |||
|
Membre éclairé
![]() ![]() Julien FiorentinoInscription : novembre 2007 Messages : 201 ![]() |
Essayes comme ça:
Code :
or pour le dernier paramètre on ne mets pas la virgule. (Pas d'erreur dans les logs ou via firebug ?) Citation:
__________________
Non l'homme ne descend pas du singe, il descend plutôt du mouton.. |
|||
|
|
00
|
|
|
#12 | ||
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 421 ![]() |
pour ton php :
Code :
A+JYT |
||
|
|
00
|
|
|
#13 | |||||
|
Membre chevronné
![]() |
Citation:
Je vais essayer d'être plus clair. Par défaut tu as à présenter des données d'une certaine façon comme celle-ci : (c'est une représentation php pour que se soit plus lisible) Code :
Code :
|
|||||
|
|
00
|
|
|
#14 |
|
Candidat au titre de Membre du Club
![]() ben gr Inscription : octobre 2010 Messages : 49 ![]() |
Bonjour,
Je ne suis pas très familié avec Firebug. Jusqu'à maintenant, je ne l'utilisais que pour le HTML et CSS. Dans le menu DOM, j'ai notamment la fonction suivante Model proxy reader root ==> "" Root me renvoie donc vide. Si root renvoie vide c'est donc que le json n'est pas lu. Y a t-il un moyen de vérifier la connexion ajax au php? Voir ce qui est interprété ou non? Dans mon cas d'essai, mon fichier php renvoi le json par un echo. A aucun moment j'utilise une connexion a une BDD : est-ce que la connexion à une bdd est un préalable (je suis ici qu'en lecture) ? Merci. |
|
|
00
|
|
|
#15 |
|
Membre chevronné
![]() |
Bonjour,
Pour savoir si tu as bien un retour, il faut que tu active l'onglet console de firebug. Tu rafrechit ta page et refait ton appelle. Tu vas voir apparaître un appelle AJAX tu le déplie et en tu regarde dans réponse. Si tu as pas de réponse c'est que tu as un problème. Mon exemple fonctionne base toi dessus. C'est le fonctionne part défaut d'extjs. Je te conseil d'essayer de le faire fonctionné avec cette méthode. Cordialement, kevin |
|
|
00
|
|
|
#16 |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 421 ![]() |
de façon plus générale quelque soit ton outil de travail
ouvre dans ton navigateur les url de tes appel ajax tu dois voir le flux json s'afficher tant que tu n'as pas ça ton code ne peut être validé. A+JYT |
|
|
00
|
|
|
#17 | |||
|
Candidat au titre de Membre du Club
![]() ben gr Inscription : octobre 2010 Messages : 49 ![]() |
Merci à tous j'ai enfin pu résoudre mon problème.
Il m'a fallut ajouter la ligne Citation:
mon store devient ainsi : Code :
|
|||
|
|
00
|
|
|
#18 |
|
Membre chevronné
![]() |
Le "autoLoad: true" est a utiliser si tu dois le charger au lancement de ton appli. Dans le cas contraire je te conseil de faire un appelle dans ce genre :
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com