J'ai créé une grille et je souhaite y accéder lorsque je clique sur le bouton Enregistrer dans une page. Comment est-ce que je peux boucler l'objet de grille pour obtenir ses éléments et ses valeurs?Comment faire une boucle dans l'objet de grille extjs pour obtenir ses éléments et ses valeurs
Répondre
Si vous souhaitez obtenir un champ particulier de chaque enregistrement:
var data = [];
store.each(function(rec){
data.push(rec.get('field'));
});
THX Evan Trimboli de toute façon – user367134
ce qui est "en fait tout à fait tort": P? – applepie
Comment obtenez-vous les lignes de la grille?
var rows = grid.getStore().getRange();
les lignes seront un tableau de Record objets.
Puis-je obtenir un exemple de "Enregistrer des objets"? – user367134
Un enregistrement est la donnée derrière une ligne de la grille. –
Voici la réponse à ma question:
for (var i = 0; i < yourGrid.getStore().data.length; i++) {
var element = Ext.get(yourGrid.getView().getRow(i));
var record = yourGrid.getStore().getAt(i);
alert(record.data.ID);
}
C'est une mauvaise façon de le faire. Voir ci-dessous. –
Afin d'obtenir DOM de la ligne que vous pouvez utiliser suivant Code:
yourGrid.getNode(yourGrid.getStore().getAt(rowIndex))
ou vous pouvez utiliser GetNode directement, mais encas de tout headerbar il ne peut pas travailler comme supposé.
yourGrid.getNode(rowIndex)
Cela vous donnera la ligne du tableau.
Veuillez regarder ici http://edspencer.net/2009/07/ext-js-iterator-functions.html – user573899