version 2004 (Modifiée)
Note de compatibilité : Les zones de défilement groupées sont toujours utilisables dans 4D, toutefois à compter de la version 2004 du programme elles peuvent être avantageusement remplacées par des objets de type List box. Pour plus d'informations sur ce point, reportez-vous à la section Présentation des List box.
Vous pouvez grouper des zones de défilement pour l'affichage dans un formulaire. Lorsque plusieurs zones de défilement sont groupées, elles se comportent comme une seule zone de défilement. Chaque zone peut disposer de ses propres police et taille de caractères ; cependant, nous vous recommandons d'utiliser la même hauteur de police dans chaque colonne. Lors de la saisie de données, seule la zone de défilement située au premier plan affiche une barre de défilement. Voici trois zones de défilement groupées en mode Développement, dans l'éditeur de formulaires :
Voici quelques conseils pour la création de zones de défilement groupées :
Assurez-vous que tous les tableaux ont la même taille (nombre d'éléments).
Utilisez la même taille de caractères dans chaque zone.
Veillez à ce toutes les zones aient la même hauteur.
Alignez toutes les zones sur le haut.
Assurez-vous que les zones ne se chevauchent pas.
Assurez-vous que la zone de droite est au premier plan, car la barre de défilement apparaît sur la zone de premier plan.
Groupez les zones (au moyen de la commande de menu Grouper) pour qu'elles fonctionnent comme s'il s'agissait d'une seule zone de défilement.
Cette méthode projet remplit les trois tableaux et les affiche à l'écran :
TOUT SELECTIONNER(Employés) SELECTION VERS TABLEAU([Employés]Nom de Famille;asNom;[Employés]Fonction;asFonction; [Départements]Nom;asDépartement) DIALOGUE([Départements];"Exemple Zones groupées")
Cette méthode utilise les données des champs de la table [Employés] et de la table [Départements]. Voici ces tables :
Note : La table [Départements] peut être utilisée à condition qu'il y ait un lien automatique allant de [Employés] à [Départements].
Voici le résultat :
Notez qu'une seule barre de défilement est affichée. Quand l'utilisateur clique sur une ligne, les trois zones sont sélectionnées simultanément. La variable associée à chaque zone de défilement prend le numéro de la ligne ayant reçu le clic souris ; seule la méthode objet de la zone cliquée est exécutée. Par exemple, si l'utilisateur clique sur le nom "Bentley", asNom, asFonction, et asDépartement prennent la valeur 2, mais seule la méthode objet de asNom est exécutée.
Les tableaux peuvent être triés au moyen de la commande TRIER TABLEAU. Par exemple :
TRIER TABLEAU(asFonction;asNom;asDépartement;>)
Voici le résultat du tri :
Notez que les tableaux ont été triés sur la base du premier argument de la commande TRIER TABLEAU ; les deux autres tableaux ont été désignés pour assurer la synchronisation entre les lignes. La commande TRIER TABLEAU trie toujours les tableaux (s'il y en a plusieurs) sur les valeurs du premier argument et assure la synchronisation des autres tableaux.
Note : La commande TRIER TABLEAU ne permet pas de trier les tableaux sur plusieurs niveaux. Pour afficher un tableau similaire au tableau ci-dessus tout en ayant un tri sur plusieurs niveaux (par exemple par département, puis par fonction, puis par nom), utilisez un sous-formulaire dans lequel vous affichez la table et utilisez la commande TRIER.
Référence
Présentation des tableaux, Tableaux et objets de formulaire.