Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probl?me de filtrage d'une Datagrid

1 réponse
Avatar
shinosuka
Bonjour ? tous,

J'ai un probl?me de filtrage de datagrid : l'actualisation n'est pas toujours
r?alis?e et pratiquement jamais avec la valeur de test 0 le tout li? ? un
probl?me de rafra?chissement probablement.

Principe : une Combobox "heure" (contenu = 0,0.5,1,1.5,2,3,... ? 8 ) utilise
la fonction de filtre "setFilter" pour modifier l'affichage de la Datagrid
"personnel" (test sur colonne "nb_heure").

Code Combobox :
--------------------
on (change) {
_parent.setFilter();
}

Code g?n?ral :
----------------
personnel_connexion.trigger();
// Fonction de filtrage de la colonne "nb_heure"
setFilter = new Object();
setFilter = function() {
//trace(heure.value);
personnel_ds.filtered = true;
personnel_ds.filterFunc = function(item:Object) {
//trace(heure.value);
return(item.nb_heure >= heure.value);
}
}


Voil?, si quelqu'un a une solution, ou une piste de recherche, qu'il n'h?site
pas car il y a de quoi s'arracher les cheveux... A se demander si les
composants Macrom?dia fonctionnent correctement ?

Info de derni?re minute, modification : _root.setFilter();
Apparemment plus trop de probl?me sauf sur la valeur 0 quand on passe du test
>= 2 au test >= 0, vraiment bizarre.

1 réponse

Avatar
shinosuka
J'ai trouv? par moi-m?me.

Le probl?me est que la valeur 0 correspond au fait de n'avoir aucun filtre,
voici donc le code qu'il fallait tapper pour ne pas appliquer de filtre dans ce
cas :

// Fonction de filtrage de la colonne "nb_heure"
setFilter = new Object();
setFilter = function() {
//trace(heure.value);
if (heure.value == 0) {
personnel_ds.filtered = false;
} else {
personnel_ds.filtered = true;
personnel_ds.filterFunc = function(item:Object) {
//trace(heure.value);
return(item.nb_heure >= heure.value);
}
}
}

Merci ? moi-m?me.

Si d'autre personnes ont d'autres solutions, je serais ravie de les conna?tre.