IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ext JS / Sencha Discussion :

Extjs 4, chargé un store via un extend


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 107
    Par défaut Extjs 4, chargé un store via un extend
    Bonjour, je souhaite faire un load d'un store (store_printers.load())

    dans le fichier grid_usr, dans le listeners je veux charger le store_printers avec comme paramètre l'id de la ligne sélectionné du grid_usr
    j'ai essayé cette piste :Acuw.grid_printers.superclass.....
    Mais je pense que j'en suis loin :-(

    la structure des mes fichiers (code allégé):
    main.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Ext.define('Acuw.Main', {
        extend: 'Ext.container.Viewport',
        initComponent: function(){
            Ext.apply(this, {
    			layout:'border',
    			items:[{
    				region:'center',
    				layout:'column',
    				autoScroll:true,
    				items: [{
    						columnWidth: 1/3,
    						baseCls:'x-plain',
    						bodyStyle:'padding:5px 0 5px 5px',
    						items:[{
    							title: 'A Panel',
    							xtype: 'grid_usr'
    						}]
    					},{
    						columnWidth: 1/3,
    						baseCls:'x-plain',
    						bodyStyle:'padding:5px 0 5px 5px',
    						items:[{
    							title: 'A Panel',
    							xtype: 'grid_printers'
    						}]
    					}			}]
    		});
            this.callParent();
     
    	},
        loadAcuw: function(rec){
            this.down('#topic').loadAcuw(rec);
        }  
    });
    gris_usr.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Ext.define('Acuw.grid_usr', {
     
        extend: 'Ext.grid.Panel',
    	    alias: 'widget.grid_usr',
     
        initComponent: function(){
     
    		Ext.define('Employee', {
    			extend: 'Ext.data.Model',
    			fields: ['name','login', 'file'
    		]});							
     
    		// create the Data Store
    		var store = Ext.create('Ext.data.Store', {
    .
    .
    .
    .
    Ext.apply(this, {
    			store: store,
    			columns: [{
    .
    .
    .
    			listeners: {
    				'selectionchange': function(view, records) {
    					//alert(view);
    					Acuw.grid_printers.superclass.initComponent.apply(this, arguments);
    				}
    			}
    		});
    		this.callParent();
    		store.load();
    	}
    });
    grid_printers.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Ext.define('Acuw.grid_printers', {
     
        extend: 'Ext.grid.Panel',
    	    alias: 'widget.grid_printers',
     
        initComponent: function(){
     
    		Ext.define('printers', {
    			extend: 'Ext.data.Model',
    			fields: ['id', 'name', 'active']
    		});							
     
    		// create the Data Store
    		var store_printers = Ext.create('Ext.data.Store', {
    .
    .
    .
    		});
    		this.callParent();
    		//store_printers.load();
    	}
    });

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 28
    Par défaut
    bonjour,

    Est-ce que ça pourrais t'aider.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Ext.define('classes.grilleJournalActivite', {
    	extend: 'Ext.grid.Panel',
    	alias: 'widget.grilleJournalActivite',
     
    	autoScroll: true,
    	border: false,
    	stateful: false,
    	config:{
    		idElement:null
    	},
     
     
     
    	initComponent: function() {
    		var me=this;
    		var nomModel=Ext.id();
     
    		this.store= Ext.create('Ext.data.Store', {
    			model: Ext.define(nomModel,{
    				extend: 'Ext.data.Model',
    				fields: [
    					{name: 'date', type: 'date', dateFormat: 'd-m-Y H:i:s'},
    					{name: 'acteur'},
    					{name: 'detail'}
    				]
    			}),
     
        		proxy: {
        			type: 'ajax',
        			actionMethods:{
        				read: 'POST'
        			},
    				url: '../../ressources/php/gestion/recup_journal.php',
    				reader: {
                    	root: 'journal'
                	},
    				extraParams:{idElement:'',type:me.typeJournal}
        		},
    	 		listeners:{
    	 			beforeload: function(store, operation){
    	 				this.getProxy().extraParams.idElement=me.getIdElement();
    	 			}
    	 		}
    		}),
     
     
     
    		this.columns =[
    			{id:'date', header: 'Date', width:120, sortable:true, dataIndex:'date', hideable:false, renderer: Ext.util.Format.dateRenderer('d-m-Y H:i:s'), flex:0},
    			{id:'acteur', header: 'Acteur', width:180, sortable:true, hideable:false, dataIndex:'acteur', flex:0},
    			{id:'detail', header: 'Détail', width:200, sortable:true, hideable:false, dataIndex:'detail', flex: 1}
    		],
     
    		this.callParent(arguments);
    	}
    });
    je charge une grille avec différents journaux en utilisant un id.
    Dans le proxy du store j'ai utilisé extraParams.
    Et dans le listener du store je "force" la valeur du paramètre

Discussions similaires

  1. redimensionner une image chargée en mémoire via javascript
    Par lau_the_raptor dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 23/02/2012, 20h06
  2. Charge d'apache via mod jk
    Par mystar dans le forum Apache
    Réponses: 1
    Dernier message: 18/05/2008, 00h26
  3. [2K5] Droits d'accès sur les tables; via une stored procedure
    Par cavo789 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 18/04/2008, 06h57
  4. [FLASH 8] Acces a un swf chargé via loadClip
    Par julien.63 dans le forum Flash
    Réponses: 2
    Dernier message: 05/02/2007, 16h50
  5. [VB.net] Stocker un id dans une combo non chargée via ds ?
    Par RiiiDD dans le forum Windows Forms
    Réponses: 6
    Dernier message: 07/04/2006, 11h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo