Bonjour

Depuis quelques jours, je m'acharne sur l'utilisation des Grids ExtJS, et grâce à ce forum, j'ai pu afficher quelques belles grilles.
Je tombe aujourd'hui sur un nouveau souci :

Après sélection d'une ligne dans un grid, je fais un Submit qui me permet d'afficher d'autres données. Jusqu'ici tout va bien !
Mais je souhaite que la ligne sélectionnée dans le premier grid reste sélectionnée.
De base, sans action particulière, cette sélection disparait.

J'ai trouvé une instruction qui devrait me permettre de redonner le focus à la ligne en question :

grid.getView().focusRow(Numero_de_ligne);

En stockant dans une variable de session ce numéro, je devrais pouvoir atteindre cette ligne mais ça ne fonctionne pas.

D'où mes deux questions :
1) est-ce la bonne instruction ?
2) si oui, où faut-il la placer pour obtenir l'effet voulu après le Submit ?

Voici les extraits de code concernés :

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
 
var grid = new Ext.grid.GridPanel ({
        store: store,
 
      sm: new Ext.grid.RowSelectionModel({
      singleSelect: true,
      listeners: {
         rowselect: function(sm,index, record) {
		toto = record.data.Processus;
		document.DDT.proc.value=toto;
		document.DDT.i_proc.value=index; // <-- je sauvegarde le numéro de ligne
 		document.DDT.submit();
								                 }
             	}
 
      }),
 
        columns: [
            {id:'Processus',header: 'Processus', width: 60, sortable: true, dataIndex: 'Processus'},
            {header: 'Nom', width: 165, sortable: true,  dataIndex: 'Nom'},
            {header: 'Nb', width: 40, sortable: true,  dataIndex: 'Nb'}],
 
        stripeRows: true,
        height: 155,
        width: 270,
        title: 'Processus',
        stateful: true,
        stateId: 'grid'
    });
 
    	grid.render('grid-example');
	indice = document.DDT.i_proc.value;
	if (indice != -1) {
	    grid.getView().focusRow(indice);  // <-- j'ai placé ici l'instruction mais ...
		}
 
					 })
merci de votre aide
cordialement