Une fonction pour concaténer les valeurs d'un champ dans un store

Les deux auteur et traducteur

Site personnel

Traducteur :

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Explications

Voici une fonction pour concaténer les valeurs d'un champ dans un store. Cette fonction est similaire à la fonction Store.sum();.

 
Sélectionnez
Ext.data.Store.override({
     
    concat: function(field, grouped, separator){
         
        if(typeof separator === 'undefined'){
            separator = ', ';
        }
         
        if (grouped && this.isGrouped()) {
            return this.aggregate(this.getConcat, this, true, [field, separator]);
        } else {
            return this.getConcat(this.data.items, field, separator);
        }   
    },
     
    getConcat: function(records, field, separator){
        var result = [];
        var i = 0;
        var len = records.length;
         
        for(; i < len; ++i){
            result.push(records[i].get(field));
        }
        return result.join(separator);
    }
}); 


Par exemple, si le store a le champ email et qu'il contient les valeurs 'a@b.ca' et 'b@c.com', alors store.concat('email') va retourner 'a@b.ca, b@c.com'.

II. Remerciements

Cet article a été publié avec l'aimable autorisation de Neil McGuigan. L'article original peut être lu sur le blog ExtJS TutorialsExtJS Tutorials : A function to concatenate field values in a storeA function to concatenate field values in a store.
Je remercie également ClaudeLELOUP pour sa relecture attentive.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2012 Neil McGuigan. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.