28 votes

Comment modifier la valeur entrée dans le filtre de chaîne

J'ai une chaîne de filtre pour 3 colonnes dans ma grille. Cela fonctionne bien. Dans la troisième colonne dont dataindex est - abc je veux modifier la valeur saisie.

Par exemple, si j'appuyez sur la touche 0 puis il filtrée toutes les données qui, ayant 0. Je veux appuyez sur "Non" au lieu de 0 à filtre. De la même façon que je veux utiliser "Oui" au lieu de 1 filtrer les données avec 1.

Mon Code pour la création d'un filtre.

this.filters = new Ext.ux.grid.GridFilters({
    filters: this.filter,
    local: true,
    autoReload: false,
});
this.features = [this.filters];
this.plugins = [this.filters];

Code pour l'insertion de filtre.

gridEl.filter.push({
    type: header.getAttribute("FILTER"),
    dataIndex: header.getAttribute("DATAINDEX"),
    encode: false,
    metaID: header.getAttribute("M"),
});

Merci pour l'aide.

11voto

Vinod Gubbala Points 583

Comme par exemple vous http://docs.sencha.com/extjs/4.2.0/extjs-build/examples/grid-filtering/grid-filter-local.html Créez votre propre BooleanFilter et vous ajouter une condition. Voir mon extrait de code ci-dessous.

Ext.define('MyFilter.CustomBooleanFilter', {
   extend: 'Ext.ux.grid.filter.StringFilter',
   alias: 'gridfilter.customboolean',

   validateRecord : function (record) {
       var rValue = record.get(this.dataIndex),
           fValue = this.getValue();
       return rValue == fValue || rValue == (fValue == "1" || "true".indexOf(fValue.toLowerCase()) == 0 || "yes".indexOf(fValue.toLowerCase()) == 0);
    }
});

Voir le travail de démonstration ici. https://fiddle.sencha.com/#fiddle/1f5l

Laissez-moi savoir si vous n'êtes pas à la recherche de ce. Je l'ai fait que par ce que ma compréhension est EDIT: Mais je pense que si c'est ce que vous voulez, puis utiliser des filtres pour modifier le texte que vous voulez. Comme Oui et Non. Son plus commode pour l'utilisateur que pour le saisir. Comme vous n'avez que deux valeurs.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X