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 25/08/2011, 10h56   #1
Futur Membre du Club
 
Inscription : septembre 2008
Messages : 103
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 103
Points : 18
Points : 18
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 :
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 :
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 :
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();
	}
});
junix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2011, 21h55   #2
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 22
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 22
Points : 13
Points : 13
bonjour,

Est-ce que ça pourrais t'aider.

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
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
ultimus 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 08h37.


 
 
 
 
Partenaires

Hébergement Web