|
HOWTO Accueil
HOWTO développement Sashipa
ListForm avancé : généralités.
Vous avez un listForm et vous souhaitez modifier son comportement, ajouter une colonne
d'une table liée, afficher un agrégat...
Modifier l'apparence et le comportement de la liste
Pour ne pas afficher la barre des titres de colonnes, ne pas afficher le
nombre de lignes, autoriser ou non les suppressions de lignes, autoriser ou non les
ajouts :
<listForm db='dbContact' doubleClicScreen='SCContactAdresse'
delete='no' displayColumnTitles='no' displayRowCount='no'>
<!-- ... -->
<insertScreen screen='SCContactAdresse' schemaFk='fk_adr_Contact' />
<!-- ... -->
|
Remarques :
-
L'attribut delete indique si les suppressions (par la touche SUPPR) sont autorisées.
-
L'attribut displayColumnTitles spécifie si la barre de titres des colonnes doit
être affichée.
-
L'attribut displayRowCount spécifie si le nombre de lignes doit être affichée.
-
L'élément insertScreen est optionnel : il suffit de l'enlever pour faire
disparaître le bouton d'ajout.
Ajouter une colonne d'une table liée, afficher un agrégat : version simple
Voici un exemple :
<listForm db='dbContact' doubleClicScreen='SCContact' delete='yes'>
<bounds x='10' y='90' w='600' h='350' />
<schemaTableRef schemaTable='tableContact' />
<instanceColumnList>
<instanceColumn schemaColumn='cta_ContactNom' />
<instanceColumn schemaColumn='cta_ContactPrenom' />
<instanceFkColumns join='inner'>
<instanceFk schemaFk='fk_cta_Profession' />
</instanceFkColumns>
<agregatInstanceColumn schemaFk='fk_adr_Contact' letterCount='4'
sort='desc' type='count'>
<title>Nb Adr</title>
</agregatInstanceColumn>
</instanceColumnList>
<insertScreen screen='SCContact' schemaFk='fk_cta_Profession' />
</listForm>
<!-- ... -->
|
L'élément instanceFkColumns affiche les colonnes de la clef utilisateur
(élément userKey dans l'environnement) de la table référencée.
Note : l'attribut join='inner' signifie que la jointure sera interne. Ceci
permet d'optimiser la requête sous-jacente. Mais si la clef étrangère n'est pas
obligatoire, il faut utiliser join='left'. Autrement les lignes qui ne
référencent pas de valeur dans la table liée (ici Profession) seront ignorées.
L'élément agregatInstanceColumn affiche ici le nombre de lignes de la table
ContactAdresse qui référencent le contact. Notez que la jointure dans la requête
sous-jacente sera une jointure externe gauche (left join).
Attributs des instanceColumns
Les attributs d'une instanceColumn sont facultatifs. Ils prennent comme valeur par défaut, celle
définie au niveau de la schemaColumn. Voici une instanceColumn avec tous les attributs de définis :
<instanceColumn schemaColumn='cta_ContactNom' letterCount='20' sort='asc' order='0' />
|
Signification des attributs :
L'attribut letterCount précise la taille de la colonne en nombre de lettres. Cette
taille ne concerne que l'affichage de la colonne. Dans l'export, la donnée est prise à sa
taille sans être tronquée. La valeur '-1' signifie que la taille de la colonne n'est pas
définie (la taille est différente à chaque ligne, en s'adaptant à la donnée).
L'attribut sort spécifie si le tri est ascendant ('asc') ou descendant
('desc').
L'attribut order précise le numéro d'ordre dans le tri de la liste. Par défaut, la
liste est triée sur les colonnes de gauche à droite. Vous pouvez utiliser les valeurs que
vous souhaitez : le tri se fera relativement les order de colonnes par rapport aux
autres. Par exemple si trois colonnes ont pour order '50', '54' et '45' respectivement,
alors le tri se fera : d'abord colonne 3, puis colonne 1, puis colonne 2. Une exception
pour la valeur '-1' qui signifie "par défaut".
Top
© 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.
|