Vous pouvez ajouter une liste de sélection, sous la forme d'un menu déroulant, à un formulaire Web Editor afin de simplifier le remplissage de ce dernier et de limiter la sélection de l'utilisateur à un ensemble de choix valides.
Pour régénérer les listes de sélection, l'administrateur peut relancer Web Editor. Il peut également affecter la valeur "true" à l'attribut de zone de description de formulaire dynamicSqlSelectionList, de sorte qu'un menu déroulant soit rechargé à chaque fois.
La requête associée à la liste de sélection peut renvoyer un ensemble de résultats dans une ou deux colonnes. Si le résultat renvoie deux colonnes, la seconde colonne contient les valeurs réelles stockées, tandis que la première colonne contient les intitulés désignés par l'utilisateur.
Une liste de sélection est créée en entrant une requête SQL dans l'attribut sqlSelectionList de la balise field ou en créant une énumération dans le fichier de description de formulaire XML. Les deux méthodes sont présentées dans l'exemple suivant :
<field name="MEMBER_ID" showInCreateMode="false" fieldDescription="Identificateur de membre" . . readOnly="false" sqlSelectionList="select orgentityname,orgentity.orgentity_id from member,orgentity where member.type='O' and member.member_id=orgentity.orgentity_id" . . fieldHelp="" . . </field> <field name="MARKFORDELETE" fieldDescription="Marqué pour suppression" type="NMTOKEN" sqlSelectionList="" > <datatype source="integer"> <enumeration label="No" value="0"/> <enumeration label="Yes" value="1"/> </datatype> </field> >
Certaines zones des tables de base de données WebSphere Commerce utilisent les chiffres 1 et 0 pour désigner les valeurs booléennes true et false. Pour créer des zones plus intuitives pour l'utilisateur, il est possible d'établir des énumérations de ces zones. Catalog Manager fournit un script SQL permettant de créer une table d'énumération nommée "NUMDESC". Ce script s'appelle "createEnum.sql". Un administrateur peut modifier l'attribut sqlSelectionList pour créer une liste de sélection en utilisant la table ENUMDESC, comme indiqué dans l'exemple ci-après :
fieldDescription="En offre spéciale" . . readOnly="false" sqlSelectionList="select description,value from enumdesc where columnname='ALL' and type='YESNO'" fieldHelp="" . .
![]() |