Voici ce que j'essaie d'accomplir. J'ai une grille avec des entrées qu'un utilisateur peut "mettre à jour par lots", c'est-à-dire un utilisateur peut sélectionner une ou plusieurs entrées de la grille, sélectionner des valeurs d'un formulaire au-dessus de la grille qu'il veut appliquer à toutes les entrées .ExtJS - Récupère un tableau sur les nœuds DOM dans la grille, surligne()?
Ce que je voudrais accomplir est un highlight() fait sur toutes les lignes de changements. Le problème que je rencontre est que je ne sais pas comment lancer un highlight() sur toutes les valeurs de changements à la fois, donc je l'ai fait individuellement. Je pourrais juste courir à travers la boucle mal. Voici ce que je fais pour mettre à jour les valeurs.
// for every property we have in our batchUpdateValues
for (var propertyName in batchUpdateValues) {
// change the selected banners attributes to match
for (var i = 0 ; i < bannersToUpdate.length ; i++)
{
// if they've selected "Name", we only want to append, not replace"
var oldName = bannersToUpdate[i].get('bannerName');
if (propertyName == 'bannerName') {
bannersToUpdate[i].set(propertyName, oldName + ' ' + batchUpdateValues['bannerName']);
} else {
bannersToUpdate[i].set(propertyName, batchUpdateValues[propertyName]);
}
var changedRowId = this.getStore().indexOf(updatedBanners[i]);
var changedRow = this.getView().getRow(changedRowId);
Ext.get(changedRow).highlight();
}
}
Ce qui se passe est maintenant si l'utilisateur sélectionne 4 « attributs » pour mettre à jour former la forme le point culminant se courir 4 fois, donc je besoin de mettre ce code en dehors de la boucle. Comment est-ce que je saisirais tous les attributs de DOM pour chaque rangée et puis courriez une évidence sur eux()?