|
HOWTO développement Sashipa
Champs simples avec liste de valeurs.Vous souhaitez remplacer votre textField par une liste de choix.
GénéralitéDeux champs simples - basés sur une colonne SQL - permettent de proposer des choix à l'utilisateur. Ces choix ne correspondent pas aux valeurs possibles d'une clef étrangère. Ils sont librement définissables au moyen soit d'une requête, soit d'une liste de choix définie "en dur". Les deux champs simples sont le comboBoxSimpleField et le writeChoiceSimpleField. Ils s'utilisent exactement de la même manière. Voyons un exemple :
L'attribut onlySuggestedValues définit si l'utilisateur pourra entrer sa propre valeur ou s'il devra choisir un des choix proposés. Au sujet de la définission des choix, voyons maintenant un exemple de chaque.
Avec une requêteIci nous souhaitons calculer les choix. Cela se fait au moyen d'une selectQueryBuilder. Par exemple, nous pouvons proposer les valeurs qui ont déjà été rentrées dans le champs, sur l'ensemble des lignes de la table SQL.
Naturellement, vous pouvez définir la requête SQL que vous souhaitez. Sur cet exemple, on remarque : la requête est de type 'list' dans ce contexte, elle contient donc par défaut les colonnes de la clefs primaire. On annule ce comportement (autoPrimaryKey='no'). C'est de plus une requête agrégat (distinctRequired='yes') et insensible au filtre de la fiche (filterSensitive='no') sous peine de n'afficher que le choix en cours. Dans une situation pareille, il est logique de ne pas forcer le choix (onlySuggestedValues='no'). Autrement l'application ne pourrait être utilisée à partir d'une base vide.
Avec des choix codés en durOn les définit de cette manière :
Et voilà ! Cet exemple proposera trois valeurs à l'utilisateur. A utiliser avec modération : si l'on souhaite modifier ces valeurs, il faur recompiler le programme...
© Copyright 2003 Sashipa-Melba Team. Ce document de la technologie Sashipa-Melba est sous licence GNU FDL Vous pouvez le copier et modifier librement les copies tant que cette mention apparaît clairement. |