2010-04-03 5 views
1

Je suis relativement nouveau sur ExtJS. J'ai adopté quelques exemples et ajouté la fonctionnalité pour ajouter des onglets à un onglet-contrôle en cliquant sur un lien. jusqu'ici tout va bien. Maintenant, je veux charger une table ExtJS dans sur les nouveaux onglets. les éléments (lignes, colonnes) sont définis dans une base de données côté serveur. Pouvez-vous me donner quelques conseils pour ajouter automatiquement la table lors de la création de l'onglet?Ajout d'une table à l'intérieur d'un onglet ajouté dynamiquement

Répondre

2

Le chargement automatique permet d'extraire une table HTML de votre code côté serveur. Est-ce que ces données sont mises à jour? Si c'est le cas, vous devrez recharger tout le HTML. Je suggère d'utiliser une grille à la place:

// tabPanel definitinon 
    { 
     xtype:"grid", 
     //tabId is a unique value created at the time of the tab 
     id:"general_props_status_grid_" + tabId, 
     ds: C.createStore({ 
      storeId:"general_props_status_grid_" + tabId, 
      autoLoad:true 
      proxy: new Ext.data.HttpProxy({ 
       //path to a serverside page that gerenates a JSON table contents 
       url: '?fuseaction=qry_statuses' 
      }), 

      reader: new Ext.data.JsonReader({ 
       id: 'status_id', 
       root:'data' 
      }, [ 
       {name: 'status_id'}, 
       {name: 'name'} 
      ]), 
      remoteSort: false 
     }), 
     columns:[{ 
      header: "Status ID", 
      dataIndex: 'status_id', 
      width:20, 
      hidden:true, 
      sortable:true 
     },{ 
      header: "Name", 
      dataIndex: 'name', 
      hideable:false, 
      renderer:function(val){ 
       return "<span class='link'>" + val +"</span>" 
      }, 
      width:150, 
      sortable:true 
     }], 
     sm: new Ext.grid.RowSelectionModel({singleSelect:true}), 
     loadMask: true, 
     listeners: { 
      activate:function(thisGrid){ 
       //this will reload the grid each time this tab is selected 
       thisGrid.getStore().reload(); 
      } 
     } 
    } 

Il y a une tonne d'options pour les réseaux, mais l'exemple ci-dessus montre une grille mise à jour automatique via callbacks.

0

ok, j'ai fait d'autres lectures je pense que la propriété autoLoad m'aide beaucoup ici. Je vais partir d'ici.

Questions connexes