Bouton d'action pour filtrer sur un attribut avec diagramme d'état

Bonjour,
Je souhaite ajouter un bouton d’action qui permets de filtrer sur un attribut (le statut), cette action ne marche pas quand l’attribut en question possède un diagramme d’état associé.

Je ne sais pas si c’est un bug ou une mauvaise manip de ma part, sachant que quand je fais le test avec d’autres attributs (sans diagramme d’état), le filtre marche bien.

Voici mon code :

ImmoLease.listBauxActifs = function(pt) {  // Cette fonction sert à filtrer les baux actifs .
	var filtre = this.getField("leaseStatus").getFilter();
	if (filtre == '%') { // Pas de filtre, on l'applique
		this.getField("leaseStatus").setFilter("in ('10','40','45','50','60','70','80')"); // Uniquement les baux actifs (Marc le 20/11/2020 et 27/11/2020)
	} else { // filtre déjà en place, on le retire
		this.getField("leaseStatus").setFilter('%');
	}
};

Merci d’avance pour votre aide.
Abed.

Le filtre sur le statut peut être forcé via le menu qui est déjà par état, dans ce ca il ne vaut pas “%” et votre code ne peut pas se déclencher.

Votre bouton doit uniquement positionner un filtre sans test, pas le retirer = c’est l’utilisateur qui peut l’enlever avec le badge en haut de liste.

ImmoLease.listBauxActifs = function() { 
  this.getField("leaseStatus").setFilter("in ('10','40','45','50','60','70','80')");
  // ou 
  this.getField("leaseStatus").setFilter("10;40;45;50;60;70;80");
}
  • Il faut aussi vérifier si votre filtre est multi-sélection.
  • et essayer setFilter("10;40;45;50;60;70;80"); autre syntaxe pour les ENUM au lieu d’un “in”

C’es parfait !
Encore merci @Francois