Bonjour,
Je débute sous ExtJs.
Je cherche à insérer dans une Grid des données récupérées d'un SELECT Option ...
Pour cela, j'ai récupéré l'exemple adéquat sur le site ExtJS.
Je construis un array avec les données du select:
j'ai vérifié que chaque cellule du tableau comprenait bien ce que je voulais.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 var selectBox = document.getElementById("ListeProc"); var nb = selectBox.options.length; var mydata = new Array; for (var i=0; i<nb; i++) { morceaux = selectBox.options[i].value.split(','); for (var j=0; j<3; j++) { mydata[i,j] = morceaux[j]; } }
Puis j'essaie d'alimenter la grid par la fonction LoadData :
Au final, le tableau ne m'affiche qu'un seul caractère par colonne !
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// create the data store var store = new Ext.data.ArrayStore({ fields: [ {name: 'Processus'}, {name: 'Nom', type: 'string'}, {name: 'Nb', type: 'int'}, ] }); store.loadData(mydata); // create the Grid var grid = new Ext.grid.GridPanel({ store: store, listeners:{ celldblclick: function(grid, rowIndex, columnIndex, e){ rowIndex++; alert("ligne " + rowIndex + " et " + "colonne" +columnIndex); } }, columns: [ {id:'Processus',header: 'Processus', width: 60, sortable: true, dataIndex: 'Processus'}, {header: 'Nom', width: 175, sortable: true, dataIndex: 'Nom'}, {header: 'Nb', width: 40, sortable: true, dataIndex: 'Nb'}, ], stripeRows: true, // autoExpandColumn: 'Processus', height: 150, width: 400, title: 'Processus', stateful: true, stateId: 'grid' }); // render the grid to the specified div in the page grid.render('grid-example');
Ce n'est surement pas la meilleure façon de procéder mais je souhaiterais comprendre quelle(s) erreur(s) j'ai commises dans ce code.
Merci aux spécialistes qui me liront, avec indulgence j'espère.
cordialement.






Répondre avec citation
Partager