Cacher un champ uniquement dans l'ecran edit list

Version

Version 5.3.28

Description

----description of the new feature request----

Bonjour,

Nous souhaiterions cacher certains champs uniquement lorsque l’utilisateur utilise la fonctionnalité edit list (vous trouverez ci-dessous l’écran pour lequel nous souhaiterions cacher certains champs).
Dans le paramètre field visibility du champ aucun ne nous permet de réaliser cela. Connaitriez-vous une manière afin de réaliser ça ?

Contexte : On a implémenté une action de liste et des lors que l’utilisateur clique sur le bouton, un formulaire de saisie lui est présenté. Il rentre quelques valeurs, puis une liste éditable lui est présentée avec certains champs pré-générés en fonction de ce qu’il a saisit et d’autres qu’il doit remplir. Nous souhaiterions cacher à l’utilisateur les champs déjà pré-remplis.

Exemple : Ici, nous souhaiterions cacher le country, l’iso code etc… Mais uniquement sur l’écran edit list.

Merci d’avance pour votre aide.

Bonjour,

Si ce besoin est en rapport avec Configurer un tableau de saisie avec filtres et sélection de date , une solution serait de se mettre dans un context update all et de rendre le champ invisible dans l’initUpdateAll.

Attention, le champ sera invisible pour toutes les mises à jour en masse.
A vérifier si cela correspond au besoin dans un contexte hors Action de liste.

Bonjour Nathalie,

Oui c’est bien en rapport avec le ticket que tu as mentionné.
Est ce que tu aurais un exemple d’implémentation à me partager stp ?

Merci d’avance.

Bonjour Mathias,

Quel est le besoin initial ?
Une aide à la saisie pour que l’utilisateur n’ait pas à saisir n données
Est ce que ton action ne peut pas générer les données sans être en edit list , l’utilisateur clique sur Editer la liste pour modifier les attributs qu’il est autorisé à modifier. Les valeurs par défaut ne doivent pas être modifiables mais doivent elles être non visibles.

Merci

Le besoin intiale est que l’utilisateur doit saisir des valeurs dans une table, mais de nombreux champs peuvent être générés automatiquement. Pour cela on lui présente un formulaire où il peut saisir la valeur de certains champs qui sera répété pour les n lignes. En revanche, on a un champ un particulier qui n’est pas générable automatiquement et qui nécéssite une saisie ligne par ligne de l’utilsateur.

On lui présente donc la table en format edit list, avec tous les champs générés sauf un qu’il doit remplir manuellement. L’idée serait de lui présenter seulement ce champ et de cacher les autres.

Ok, cacher ou rendre non modifiable .

Dans l’action on initialise un paramètre.

getGrant().setParameter("ACTION_EDITLIST", "1");
		
String js = "$ui.displayList(null, \"DemoClient\",{"+
						"nav:'add', edit: \"rows\",  context: $ui.app.CONTEXT_UPDATE,"+
						"filters:{\"demoCliLastname\":'"+value+"' }"+			
			
					"}, null)";

Puis dans le hook initUpdate

if (getGrant().hasParameter("ACTION_EDITLIST")){
			getField("demoCliLastname").setVisibility(ObjectField.VIS_HIDDEN);//masquer le champ Nom
            getField("demoCliLastname").setUpdatable(ObjectField.UPD_READ_ONLY); // ou rendre non modifiable le champ nom
			getGrant().removeParameter("ACTION_EDITLIST");
}
else {
		getField("demoCliLastname").setVisibility(ObjectField.VIS_BOTH);
        getField("demoCliLastname").setUpdatable(ObjectField.UPD_ALWAYS); // ou rendre modifiable le champ nom

}

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