Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Ext JS / Sencha
Ext JS / Sencha Ext JS / Sencha Forum d'entraide sur les frameworks Ext JS et Sencha. Avant de poster : FAQ ExtJS / Sencha, Toutes les FAQ JavaScript
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 07/07/2008, 20h18   #1
Membre habitué
 
Avatar de Mitaka
 
Inscription : avril 2003
Messages : 188
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2003
Messages : 188
Points : 125
Points : 125
Par défaut liste avec pagination

bonjour,
j'ai créé une liste avec une pagination.
je me sers de Json.
j'ai bien un nombre de pages et le nombre d'enregistrements qui s'affichent.
mais je n'ai aucune ligne qui s'affiche !! aucune erreur avec firebug.

le fichier où il y a mon code extjs:
Code :
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<script type="text/javascript">
Ext.onReady(function(){

  Ext.BLANK_IMAGE_URL = 'ext-2.0/resources/images/default/s.gif';

  var tabs = new Ext.TabPanel({
        renderTo: 'menu_contrat',
        activeTab: 0,
        frame:true,
        defaults:{autoHeight: true},
        items:[
            {contentEl:'contenu', title: 'Contrats'},
        ]
    });

  Ext.QuickTips.init();
    
  var xg = Ext.grid;
  var myData = <?php echo $result; ?>;

  // create the data store
  var store = new Ext.data.SimpleStore({
      fields: [
         {name: 'nom_structure'},
         {name: 'derniere_echeance', type: 'date', dateFormat: 'Y-m-d'},
         {name: 'fin_abonnement', type: 'date', dateFormat: 'Y-m-d'},
         {name: 'abonnement'},
         {name: 'prochaine_echeance', type: 'date', dateFormat: 'Y-m-d'},
         {name: 'etat_contrat'},
         {name: 'recueils'},
         {name: 'normes'},
         {name: 'num_classeur'},
         {name: 'edit'}
      ]
  });  
    
  var ds = new Ext.data.Store({    
        proxy: new Ext.data.MemoryProxy(myData),
        
        reader: new Ext.data.JsonReader({
          root: 'contrats',
          totalProperty: 'total',
          id: 'nom_structure'
        },[
            {name: 'nom_structure', mapping: 'nom_structure'},
            {name: 'derniere_echeance', mapping: 'derniere_echeance', type: 'date', dateFormat: 'd-m-Y'},
            {name: 'fin_abonnement', type: 'date', dateFormat: 'd-m-Y', mapping: 'fin_abonnement'},
            {name: 'abonnement', mapping: 'abonnement'},
            {name: 'prochaine_echeance', type: 'date', dateFormat: 'd-m-Y', mapping: 'prochaine_echeance'},
            {name: 'etat_contrat',  mapping: 'etat_contrat'},
            {name: 'recueils',  mapping: 'recueils'},
            {name: 'normes',  mapping: 'normes'},
            {name: 'num_classeur',  mapping:'num_classeur'},
            {name: 'edit', mapping:"edit"}
          ]
        ),
        remoteSort: true
  });  
    
    var sm = new xg.CheckboxSelectionModel();
    
    var grid = new xg.GridPanel({
        store: store,
        ds: ds,
        stripeRows: true,
        cm: new xg.ColumnModel([
            sm,
            {header: "Nom de la stucture",  sortable: true, dataIndex: 'nom_structure'},
            {header: "Dernière échéance",  sortable: true, renderer: Ext.util.Format.dateRenderer('d/m/Y'), dataIndex: 'derniere_echeance'},
            {header: "Fin du contrat",   sortable: true, renderer: Ext.util.Format.dateRenderer('d/m/Y'), dataIndex: 'fin_abonnement'},
            {header: "Abonnement", sortable: true, dataIndex: 'abonnement'},
            {header: "Prochaine échéance",  sortable: true, renderer: Ext.util.Format.dateRenderer('d/m/Y'), dataIndex: 'prochaine_echeance'},
            {header: "Etat",  sortable: true, dataIndex: 'etat_contrat'},
            {header: "Recueils",  sortable: true, dataIndex: 'recueils'},
            {header: "Normes",  sortable: true, dataIndex: 'normes'},
            {header: "N°Classeur",  sortable:true, dataIndex:'num_classeur'},
            {header: "Voir/Modifier",  sortable: true, dataIndex: 'edit'}
        ]),
        sm: sm,
        frame:true,
        title:'Liste des clients',
        defaults:{autoHeight: true},
        iconCls:'icon-grid',
        renderTo: "contrats",
        bbar: new Ext.PagingToolbar({
            store: ds,
            pageSize: 25,
            displayInfo: true,
            displayMsg: 'Clients : {0} à {1} sur {2}',
            emptyMsg: "Aucun client"
          })
    });
 
    grid.render('contrats');
    ds.load({params:{start:0, limit:25}});  
    
});
</script>
un bout de la valeur de $result :
Code :
1
2
3
4
5
{"total":"389","contrats":
[{"nom_structure":"bidule","derniere_echeance":"","fin_abonnement":"","abonnement":"","prochaine_echeance":"",
"etat_contrat":"","recueils":"","normes":"","num_classeur":"","edit":""}
,{"nom_structure":"chouette","derniere_echeance":"","fin_abonnement":"","abonnement":"","prochaine_echeance":"",
"etat_contrat":"","recueils":"","normes":"","num_classeur":"","edit":""}
et un bout de la page html :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<div id="menu_contrat">
  <div id="contenu">
    <?php foreach($tab_alphabet as $lettre) {
        echo link_to($lettre, "contrats/list?lettre=".$lettre);
 
    }
 
    ?>
    <div id="contrats">
    </div>
    <div id="actions">
    </div>
 
  </div>
 
</div>
franchement si vous pouviez m'aider à trouver la solution, ça m'arrangerait bien, ça fait depuis ce matin que je bloque sur le problème

voilà, merci d'avance et bonne soirée

Edit: je n'ai toujours pas trouvé de solution. y a t il un moyen de débuguer plus rapidement ?
Mitaka est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h06.


 
 
 
 
Partenaires

Hébergement Web