# Filtre / row\_id rémanant lors de l'affichage en liste intégrant des pillbox

**URL:** <https://community.simplicite.io/t/filtre-row-id-remanant-lors-de-laffichage-en-liste-integrant-des-pillbox/3811>\
**Category:** Support\
**Tags:** v4-0\
**Created:** [September 13, 2021, 4:12pm UTC](https://community.simplicite.io/t/filtre-row-id-remanant-lors-de-laffichage-en-liste-integrant-des-pillbox/3811 "2021-09-13T16:12:20Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![bmo](https://community.simplicite.io/letter_avatar_proxy/v4/letter/b/9de0a6/32.png) [@bmo](https://community.simplicite.io/u/bmo)\
**Post date:** [September 13, 2021, 4:12pm UTC](https://community.simplicite.io/t/filtre-row-id-remanant-lors-de-laffichage-en-liste-integrant-des-pillbox/3811/1 "2021-09-13T16:12:20Z")

</div>

Bonjour,  
j’arrive après la bataille sur le post [Export CSV de l'ensemble des lignes ne fonctionne pas - #11 by Francois](https://community.simplicite.io/t/export-csv-de-lensemble-des-lignes-ne-fonctionne-pas/3806/11)  
Cela ressemble à un problème que nous avons rencontré sur des objets présentant eux aussi des pillbox en liste : dans notre cas, l’affichage en liste se limitait à une seule ligne et nous avons en effet constaté qu’un filtre était positionné sur le row\_id alors que ça n’avait a priori aucun sens métier. On a d’abord pensé à un effet de bord non maîtrisé de notre côté et mis en place un contournement dans les hook initList des objets concernés (resetFilter sur le champ row\_id) en attendant de trouver le temps de comprendre (😓).

Dans l’hypothèse où ce serait bien la même chose, si la résolution pouvait aussi couvrir le cas de l’initList ce serait super 🙂

ps: nous sommes encore en Version=4.0.P25 BuiltOn=2021-07-16 10:19 mais on va se mettre à jour asap

---

<div class="post-metadata">

**Author:** ![Francois](https://community.simplicite.io/user_avatar/community.simplicite.io/francois/32/6448_2.png) [@Francois](https://community.simplicite.io/u/Francois)\
**Post date:** [September 14, 2021, 7:45am UTC](https://community.simplicite.io/t/filtre-row-id-remanant-lors-de-laffichage-en-liste-integrant-des-pillbox/3811/2 "2021-09-14T07:45:47Z")

</div>

Bonjour Bruno,

Oui, le filtre sur le row\_id vient d’un select sur chaque ligne pour que les search des pillbox aient un context `getParentObject` correct : le link peut avoir un filtre/search-spec avec des champs du parent, les hook du panel instance des accès au parent object… Les pillbox sont des mini-panels d’objets liés et elles doivent respecter les règles comme si on était sur le formulaire de chaque ligne.

Je n’ai pas encore pu comprendre parfaitement pourquoi le “dernier” filtre dans tous les appels asynchrones restait en mémoire en back, alors que dans le code il est bien retiré à la fin de chaque select du parent. En attendant, il faut effectivement le retirer à titre préventif avant de lister quelque chose dans votre cas.

Simplicité peut faire des recherches filtrées sur l’id de type “row\_id in (…)” ou autre, donc on ne peut pas forcer un resetFilter en entrée de search ou d’initList dans un cas général. Contrairement à un export qui est celui demandé par l’utilisateur (et donc jamais sur des row\_id précis).

On va essayer de trouver la cause de la persistance du filtre sur le row\_id en cas de pillbox car c’est là qu’il y a quelque chose à corriger.

---

<div class="post-metadata">

**Author:** ![bmo](https://community.simplicite.io/letter_avatar_proxy/v4/letter/b/9de0a6/32.png) [@bmo](https://community.simplicite.io/u/bmo)\
**Post date:** [September 14, 2021, 7:51am UTC](https://community.simplicite.io/t/filtre-row-id-remanant-lors-de-laffichage-en-liste-integrant-des-pillbox/3811/3 "2021-09-14T07:51:20Z")

</div>

Merci pour ton retour.  
Voici pour info le code de reset ajouté dans les objets concernés:

```auto
BCSIxxx.initList = function(parent) {
	if ( !this.getField("row_id").getFilter().equals("%") ) {
		console.log("[IN initList] XXX DEBUG filters inst="+this.getInstanceName()+" row_id.getFilter="+this.getField("row_id").getFilter());
		this.getField("row_id").resetFilter();
	}
};

```

Nous retirons donc le filtre dès lors qu’il n’est pas à sa valeur par défaut ‘%’ donc y-compris si il y a un filtre “row\_id in (…)” → faut-il modifier notre test pour exclure explicitement ce cas ?

---

<div class="post-metadata">

**Author:** ![Francois](https://community.simplicite.io/user_avatar/community.simplicite.io/francois/32/6448_2.png) [@Francois](https://community.simplicite.io/u/Francois)\
**Post date:** [September 14, 2021, 8:00am UTC](https://community.simplicite.io/t/filtre-row-id-remanant-lors-de-laffichage-en-liste-integrant-des-pillbox/3811/4 "2021-09-14T08:00:54Z")

</div>

Ce genre de recherche c’est quand par exemple il y a des cases à cocher sur des row\_id précis à mettre à jour en masse. Vous n’avez peut être pas besoin de sélection de lignes, sinon il est préférable de faire un test comme suit :

```javascript
ObjectField id = getRowIdField();
if (id.isFiltered() && !id.getFilter().toLowerCase().startsWith("in"))
  id.resetFilter();

```

---

<div class="post-metadata">

**Author:** ![Francois](https://community.simplicite.io/user_avatar/community.simplicite.io/francois/32/6448_2.png) [@Francois](https://community.simplicite.io/u/Francois)\
**Post date:** [September 14, 2021, 3:45pm UTC](https://community.simplicite.io/t/filtre-row-id-remanant-lors-de-laffichage-en-liste-integrant-des-pillbox/3811/5 "2021-09-14T15:45:46Z")

</div>

Après une descente archéologique dans le contexte d’une recherche en liste, une meilleur gestion de la concurrence d’accès entre toutes les pillboxes a été ajoutée dans toutes les versions. Le problème ne semble plus se produire sur nos cas de tests. Le “row\_id” retrouve bien son filtre d’origine (% ou autre).

A tester dans une prochaine livraison sur votre instance.

---

<div class="post-metadata">

**Author:** ![system](https://community.simplicite.io/user_avatar/community.simplicite.io/system/32/4700_2.png) [@system](https://community.simplicite.io/u/system)\
**Post date:** [September 22, 2021, 5:43pm UTC](https://community.simplicite.io/t/filtre-row-id-remanant-lors-de-laffichage-en-liste-integrant-des-pillbox/3811/8 "2021-09-22T17:43:51Z")

</div>

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.
