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.
Partager