Vous pouvez utiliser les données saisies par l'utilisateur dans un ou plusieurs champs du formulaire pour déterminer les valeurs d'une boîte de sélection. Cette option est utile lorsque vous voulez que l'utilisateur puisse réaliser plusieurs choix valides à partir de votre source de données, mais qu'il ne puisse pas spécifier une sélection personnalisée. Elle permet donc d'améliorer la standardisation et la validité des sélections des utilisateurs tout en leur offrant généralement plusieurs options parmi lesquelles choisir.
Cette technique est souvent utilisée dans les formulaires avec des boîtes de sélection pour le pays et l'état. Les attributs reportobjid et reportobjvars vous permettent de configurer la boîte de sélection de l'état pour qu'elle n'affiche que les états correspondant au pays choisi par l'utilisateur.
Pour utiliser cette technique de pré-remplissage d'une boîte de sélection en fonction du choix de l'utilisateur dans une boîte de sélection précédente, procédez comme suit. Ce processus utilise le scénario états-pays comme exemple.
Dans notre exemple, créez un objet de données de rapport pour récupérer la liste des pays dans la base de données.
Lorsque le formulaire est affiché, l'objet de données de rapport s'exécute et remplit la liste déroulante avec les données obtenues.
Consignez l'ID de l'objet de données pour vous y référer ultérieurement.
Étudiez l'exemple de demande suivant pour un objet de données de la base de données de gestion. Cet exemple renvoie la liste des pays disponibles pour le service ou l'option de service auquel/à laquelle le formulaire est joint.
SELECT country_id,country_name from my_country_table
Cette demande réalise les actions suivantes.
Remarque : Lorsque vous utilisez un objet de données pour remplir une zone de liste modifiable, n'ajoutez pas d'options dans la boîte de sélection car elles sont ignorées (inutilisées) lorsque l'utilisateur ouvre le formulaire. Toutes les options de la boîte de sélection sont ignorées, seul l'objet de données est pris en compte.
Remarque : Si des utilisateurs provenant de lieux différents utiliseront ce formulaire, vous pouvez rechercher le texte de l'info-bulle ou le nom de la boîte de sélection.
Dans notre exemple, créez un deuxième objet de données de rapport pour récupérer les états depuis la base de données, en fonction du pays choisi par l'utilisateur. Procédez comme dans la première étape pour créer le deuxième objet de données de rapport.
select state_id,state_name from my_state_table where country_id=%selected_country%
où la valeur valide peut être :
Remarque : Mettez la chaîne entre guillemets simples comme indiqué. Dans une chaîne entre guillemets, utilisez une barre oblique inversée (\) pour indiquer un guillemet simple ou un apostrophe. Par exemple : $({‘quel est l\’état?’})
$({'reportvar':_.user.lastName,'reportvar1':'abc','reportvar2':12,'reportvar3':foo()})
Dans notre exemple, créez une deuxième boîte de sélection qui sera remplie par les états de la base de données, en fonction du pays choisi par l'utilisateur. Pour l'attribut reportobjvars de la boîte de sélection de l'état, spécifiez la fonction JavaScript prédéfinie ca_fdGetSelectedOptionValues, comme suit :
$({'selected_country':ca_fdGetSelectedOptionValues ('<_id du formulaire> ','country' )[0]})
Spécifie la valeur de l'attribut _id du formulaire contenant la première boîte de sélection. Vous faites référence à ce formulaire dans la deuxième étape.
Spécifie la valeur de l'attribut _id de la première boîte de sélection. Vous avez créé et enregistré cette valeur à l'étape 2.
ca_fdFetchSelectData('<_id du formulaire>','<field _id>');
Spécifie la valeur de l'attribut _id du formulaire contenant la deuxième boîte de sélection. Vous faites référence à ce formulaire dans la quatrième étape.
Spécifie la valeur de l'attribut _id du champ contenant la deuxième boîte de sélection. Vous avez créé et enregistré cette valeur à l'étape 4.
Dans notre exemple, définissez l'attribut onchange pour la boîte de sélection du pays comme suit :
ca_fdFetchSelectData('<_id du formulaire>','<_id du champ état>');
À titre de bonne pratique, il est recommandé de tester ce formulaire sur un service dans un environnement de test avant de l'utiliser dans un environnement de production.
| Copyright © 2013 CA. Tous droits réservés. |
|