2010-04-20 2 views
1

Bonjour, j'utilise Extjs et j'ai construit une grille avec des cellules modifiables. Une de ces cellules doit être une combobox qui prend ses options à partir d'un script qui génère les données json. Le code pour la grille et pour l'éditeur de cellules combobox fonctionne mais je veux que la requête json au script soit mise en cache après la première fois, est-ce possible?Extjs cache JSON request

Je vous écris du code, c'est la partie où je déclare la colonne combobox dans le constructeur de la grille:

{ 
    dataIndex:"authors_name", 
    id:"authors_name", 
    header:"Authors", 
    editable:true, 
    sortable:true, 
    editor:{ 
     xtype:"combo", 
     allowBlank:false, 
     editable:false, 
     forceSelection: true, 
     displayField: 'authors_name', 
     valueField: 'authors_id', 
     store:new Ext.data.JsonStore({ 
      proxy:new Ext.data.HttpProxy({ 
       //This is the json request to cache 
       url: 'index.php?load=authors' 
      }), 
      root: 'items', 
      fields: ['authors_name','authors_id'] 
     }) 
    } 
} 

Répondre

2

que j'ai trouvé la réponse en postant sur le forum, poste, c'est la solution si quelqu'un est intéressé:

{ 
    dataIndex:"authors_name", 
    id:"authors_name", 
    header:"Authors", 
    editable:true, 
    sortable:true, 
    editor:{ 
     xtype:"combo", 
     allowBlank:false, 
     editable:false, 
     forceSelection: true, 
     displayField: 'authors_name', 
     valueField: 'authors_id', 
     //Add mode and triggerAction properties to make it work locally 
     mode:"local", 
     triggerAction:"all", 
     store:new Ext.data.JsonStore({ 
      proxy:new Ext.data.HttpProxy({ 
       url: 'index.php?load=categories&request=data&type=getAuthors' 
      }), 
      //Use the autoload property to do the request only one time 
      autoLoad:true, 
      root: 'items', 
      fields: ['authors_name','authors_id'] 
     }) 
    } 
}