Les nouvelles fonctionnalités des Listbox avec 4D v11 SQL



Documents pareils
Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Optimisation de 4D Server et 4D Web Server. Résumé. 4D Notes techniques

4e Dimension Clés XML Backup. Windows /Mac OS 4e Dimension D SA. Tous droits réservés.

Manuel d'utilisation de Mémo vocal

MEDIAplus elearning. version 6.6

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

1. Introduction Création d'une requête...2

Sage CRM. 7.2 Guide de Portail Client

AssetCenter Notes de version

Utiliser Access ou Excel pour gérer vos données

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

SOMMAIRE. Travailler avec les requêtes... 3

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement)

LibreOffice Calc : introduction aux tableaux croisés dynamiques

Administration du site (Back Office)

ORACLE TUNING PACK 11G

Database Manager Guide de l utilisateur DMAN-FR-01/01/12

Automatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

ecafé TM CENTER

Répondre à un courrier - Transférer un courrier 20

Guide de l'utilisateur

Fonctions pour la Suisse

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

Cyberclasse L'interface web pas à pas

HP Data Protector Express Software - Tutoriel 3. Réalisation de votre première sauvegarde et restauration de disque

Publipostage avec Calc

Comment Utiliser les Versions, les Modification, les Comparaisons, Dans les Documents

Manuel d'utilisation Logiciel (Network TWAIN Driver)

Module 1 : Tableau de bord Excel * 2010 incl.*

Formation. Module WEB 4.1. Support de cours

Freeway 7. Nouvelles fonctionnalités

Alfresco Guide Utilisateur

Utiliser une base de données

Edition de sites Jahia 6.6

GUIDE D'INSTALLATION DU LOGICIEL

Logiciel (Système d impression directe)

Créer sa première base de données Access Partie 3/4 - Création d un formulaire

STATISTICA Version 12 : Instructions d'installation

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

Fonctions pour la France

Création d'un questionnaire (sondage)

Capture Pro Software. Démarrage. A-61640_fr

Création de Sous-Formulaires

Didacticiel de mise à jour Web

Tune Sweeper Manuel de l'utilisateur

GUIDE UTILISATEUR DHL FREIGHT E-BILLING LA FACTURATION ELECTRONIQUE PAR DHL FREIGHT

PROTECTION DES DONNEES PERSONNELLES ET COOKIES

Instructions préliminaires P2WW FR Préface

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

MEGA ITSM Accelerator. Guide de Démarrage

OSIRIS/ Valorisation des données PORTAIL BO MANUEL UTILISATEUR

Points forts : Amélioration de la génération et de la qualification des listes de clients potentiels

LE TABLEUR OPENOFFICE CALC : CONTRÔLES DE FORMULAIRES ACCÈS AUX BASES DE DONNÉES

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Télécharger et Installer OpenOffice.org sous Windows

Qu'est ce que le Cloud?

La Clé informatique. Formation Excel XP Aide-mémoire

Le modèle de données

Juin XMS PC Connect Guide de l utilisateur

I La création d'un compte de messagerie Gmail.

Form Designer Guide d utilisateur DOC-FD-UG-FR-01/01/12

Notice Générale - MODULE CLIENTS. I. Description générale du module. II. La liste des clients a. Accès

Affichage de la date d'exigibilité sur les documents FAQ INV 011

Comment mettre en page votre livre

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

Single User. Guide d Installation

Paramétrage de pools d'applications sous IIS 6.0

4D v11 SQL. Mise à jour Windows /Mac OS. 4D D SAS. Tous droits réservés.

01V96i Editor Manuel d'installation

NETWORK & SOFTWARE ENGINEERING MANUEL D UTILISATEUR. Logiciel TIJARA. NETWORK AND SOFTWARE ENGINEERING Manuel d'utilisateur "TIJARA" 1

Fonctions pour la Belgique

Mise à jour, sauvegarde et restauration de logiciels

Service d information pour remise de paiement de factures Scotia

Printer Administration Utility 4.2

GUIDE DE DÉMARRAGE RAPIDE

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

Guide d'utilisation du Serveur USB

Manuel d'utilisation

v7.1 SP2 Guide des Nouveautés

Comment Définir une Plage de données Pour Utiliser Fonctions de Filtres et de Tris

2- Relation entre Writer et Calc dans le mailing

Qlik Sense Desktop. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

Tutoriel TYPO3 pour les rédacteurs

DirXML License Auditing Tool version Guide de l'utilisateur

Conditions Générales d'utilisation du compte V lille

Guide d installation

Manuel d utilisation NETexcom

Corrigé de l'atelier pratique du module 3 : Récupération d'urgence

Manuel Utilisateur Version 1.6 Décembre 2001

Transcription:

Les nouvelles fonctionnalités des Listbox avec 4D v11 SQL Par Larry SHARPE, Infoservice Note technique 4D-200705-13-FR Version 1 - Date 1 mai 2007 Résumé Note traduite de l'anglais par Stéphanie Tirtiat (4D S.A.S., Support Technique International). Les fonctionnalités de 4D v11 SQL proposent trois modes d'utilisation des données dans une List Box. Le premier mode, extrêmement utile, et qui existait déjà avec 4D 2004 : l'utilisation des tableaux. Et les deux autres nouveaux modes, récemment introduits avec 4D v11 SQL : l'utilisation de la sélection courante et l'utilisation de la sélection temporaire. 4D Notes techniques Copyright 1985-2009 4D SAS - Tous droits réservés Tous les efforts ont été faits pour que le contenu de cette note technique présente le maximum de fiabilité possible. Néanmoins, les différents éléments composant cette note technique, et le cas échéant, le code, sont fournis sans garantie d'aucune sorte. L'auteur et 4D S.A. déclinent donc toute responsabilité quant à l'utilisation qui pourrait être faite de ces éléments, tant à l'égard de leurs utilisateurs que des tiers. Les informations contenues dans ce document peuvent faire l'objet de modifications sans préavis et ne sauraient en aucune manière engager 4D SA. La fourniture du logiciel décrit dans ce document est régie par un octroi de licence dont les termes sont précisés par ailleurs dans la licence électronique figurant sur le support du Logiciel et de la Documentation afférente. Le logiciel et sa documentation ne peuvent être utilisés, copiés ou reproduits sur quelque support que ce soit et de quelque manière que ce soit, que conformément aux termes de cette licence. Aucune partie de ce document ne peut être reproduite ou recopiée de quelque manière que ce soit, électronique ou mécanique, y compris par photocopie, enregistrement, archivage ou tout autre procédé de stockage, de traitement et de récupération d'informations, pour d'autres buts que l'usage personnel de l'acheteur, et ce exclusivement aux conditions contractuelles, sans la permission explicite de 4D SA. 4D, 4D Calc, 4D Draw, 4D Write, 4D Insider, 4ème Dimension, 4D Server, 4D Compiler ainsi que les logos 4e Dimension, sont des marques enregistrées de 4D SA. Windows,Windows NT,Win 32s et Microsoft sont des marques enregistrées de Microsoft Corporation. Apple, Macintosh, Power Macintosh, LaserWriter, ImageWriter, QuickTime sont des marques enregistrées ou des noms commerciaux de Apple Computer,Inc. Mac2Win Software Copyright 1990-2002 est un produit de Altura Software,Inc. 4D Write contient des éléments de "MacLink Plus file translation", un produit de DataViz, Inc,55 Corporate drive,trumbull,ct,usa. XTND Copyright 1992-2002 4D SA. Tous droits réservés. XTND Technology Copyright 1989-2002 Claris Corporation.. Tous droits réservés ACROBAT Copyright 1987-2002, Secret Commercial Adobe Systems Inc.Tous droits réservés. ACROBAT est une marque enregistrée d'adobe Systems Inc. Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs. 1 / 8

Les nouvelles fonctionnalités des Listbox avec 4D v11 SQL Introduction 4D v11 SQL propose, entre autres nouveautés, de nouvelles fonctionnalités concernant les objets de type ListBox. Une ListBox est plutôt pratique et utile en bien des façons. Mais dans les versions précédentes de 4D, nous ne pouvions utiliser que des tableaux, ce qui limitait les possibilités. Avec 4D v11 SQL, en plus des tableaux, nous pouvons maintenant utiliser des champs et des expressions pour alimenter une List Box. Cette note technique présente trois exemples qui sembleront très similaires du point de vue de l'utilisateur, mais chacun des exemples utilise une "source de données" différente pour alimenter, afficher et manipuler des données dans une ListBox. Sources de données Les sources de données qui peuvent être utilisées dans une List Box sont : les tableaux : comme avec 4D 2004, la sélection courante : on peut maintenant afficher des champs et des expressions selon la sélection courante des enregistrements sur lesquels vous travaillez, la sélection temporaire : similaire à la sélection courante, mais basée sur l'utilisation d'une sélection temporaire (un ensemble d'enregistrements triés). Documentation : * Présentation des tableaux http://www.4d.fr/documentation/4ddocv11/cmf/cmf10125.htm * Commandes et sections pour Sélections http://www.4d.fr/documentation/4ddocv11/v6f/v6f00052.htm * Présentation des Sélections Temporaires http://www.4d.fr/documentation/4ddocv11/v6f/v6f00052.htm La base démo contient des exemples concernant ces trois types de sources de données. Exemples La base démo contient deux tables, [PEOPLE] et [COMPANY], avec quelques champs ordinaires dans chaque table. Le champ ID de chacune des tables est défini automatiquement dans un trigger. Chaque table possède un formulaire d'entrée et de sortie standard, qui peut être utilisé en "Mode Utilisation" (appelé dorénavant "Liste des tables" en 4D v11 SQL) au besoin. Les deux tables sont reliées de sorte que plusieurs enregistrements [PEOPLE] sont liés à un enregistrement [COMPANY] auquel il est associé. Une structure simple et standard qui comporte déjà un ensemble de fonctionnalités avancées. Une des nouvelles implémentations de 4D v11 SQL permet de créer et d'utiliser des formulaires qui n'ont pas besoin d'être liés à une table particulière. Ces nouveaux formulaires sont appelés "Formulaires projet" et 2 / 8

nous les utilisons dans notre base démo, dans les quatre formulaires proposés en exemple. C'est très pratique pour les formulaires qui ne doivent pas forcément être liés à une table, comme les dialogues d'interface par exemple. La base démo propose quatre lignes de menus et trois exemples de ListBox (dans le menu Fichier) : Chacun des trois types de ListBox utilise des formulaires projets qui semblent très similaires les uns par rapport aux autres, en affichage et en fonctionnalité. Il y a une ListBox qui affiche des colonnes de données des tables [PEOPLE] et [COMPANY]. Vous pouvez ajouter, modifier ou supprimer des enregistrements [PEOPLE] en double-cliquant sur une ligne pour l'éditer ou en sélectionnant une ligne puis en cliquant sur le bouton "Ajouter" ou "Supprimer". Vous pouvez modifier le code, si besoin, pour permettre la sélection multiligne dans la ListBox, même si dans notre exemple, nous avons choisi de ne permettre qu'une sélection d'une ligne à la fois. Activer la sélection multiligne est aussi simple que de modifier les propriétés d'une List Box ou le code du bouton "Supprimer". Dans tous ces exemples, l'éditeur de formulaire est utilisé pour sélectionner les tables, les champs et les autres paramètres que nous voulons voir affichés dans la List Box. Cette façon de faire est valable dans 95% des développements de base de données, mais vous pourriez faire de même en utilisant les commandes de propriétés des List Box et des Objets pour programmer tout cela. Il existe d'ailleurs plusieurs notes techniques sur le sujet. En plus d'un formulaire objet pour chaque type de List Box, nous utilisons également une méthode projet nommée ListBox_xxx_Functions qui contient le code exécuté plusieurs fois par la méthode objet d'une ListBox et par les méthodes objets des boutons "Ajouter" et "Supprimer". Au lieu d'avoir plusieurs copies du même code un peu partout, nous l'avons placé dans une seule méthode que nous appelons quand c'est nécessaire. Notez que le code source de la base exemple est assez documenté pour vous fournir le plus d'informations possible sur ce qui se passe dans le code et ce qui est exécuté. Exemple 1 - des tableaux dans une List Box 3 / 8

Nous utilisons ici des tableaux qui sont ensuite affichés dans la ListBox. Cela fonctionne de la même manière qu'avec 4D 2004. On utilise la commande Selection vers tableau qui charge les enregistrements adéquats dans des tableaux ; vous définissez alors quel tableau sera utilisé dans quelle colonne. Une fois que la ListBox est affichée, si vous double-cliquez sur une ligne, cela va déclencher une recherche pour trouver l'enregistrement correspondant et modifier l'affichage de la ligne de manière à permettre à l'utilisateur d'éditer l'enregistrement. Tout est basé sur le chargement de tableaux à utiliser, puis sur la recherche pour trouver l'enregistrement sélectionné dans une ligne en vue d'une modification ou d'une suppression. Vous pouvez également utiliser les données d'une table liée dans vos tableaux si nécessaire. Il y a un tableau qui est utilisé dans la ListBox dont la colonne est invisible pour l'utilisateur. Il s'agit du champ [PEOPLE]ID qui sert à identifier et trouver chaque enregistrement précisément. Les autres sources de données ne nécessitent pas cette colonne puisqu'elles utilisent directement des champs d'une table, et donc elles savent déjà quel enregistrement est sélectionné quand on clique ou double-clique sur une ligne. Une autre chose que les sources de données de type tableau n'ont pas, c'est la possibilité d'utiliser des expressions directement dans la ListBox. Vous pourriez développer quelque chose d'approchant quand vous chargez des tableaux de données, mais elles ne pourraient pas être saisies dans une colonne, comme c'est le cas avec les deux types de sources de données que nous présentons dans les sections suivantes. Exemple 2 - Selection courante et ListBox 4 / 8

Dans cet exemple, nous utilisons la sélection courante de la table [PEOPLE]. Cette sélection courante sera affichée dans la ListBox. Cela semble très similaire à l'exemple précédent qui utilise des tableaux, mais ici nous n'avons pas besoin de les définir, ni de les charger et les libérer. C'est la grande différence entre 4D v11 SQL et les versions précédentes de 4D : construire une ListBox en sélectionnant les champs et les tables qui y seront affichés via la liste des propriétés de la List Box et des colonnes. 5 / 8

Dans ce petit exemple, nous exécutons simplement la commande TOUT SELECTIONNER, mais vous pourriez lancer une requête pour créer une sélection d'enregistrements ou utiliser LIEN RETOUR pour charger tous les enregistrements d'une table liée. En plus de choisir quel champ sera affiché dans telle colonne, vous pouvez également choisir d'utiliser une expression pour remplir cette colonne. L'expression peut être simplement quelque chose comme : [PEOPLE]City+", "+[PEOPLE]State Cette expression peut être saisie directement dans la propriété Expression de la colonne appropriée ; ou vous pouvez saisir le nom d'une méthode projet qui permet alors d'exécuter un code plus sophistiqué pour définir les données à mettre dans chaque ligne de la colonne. L'expression sera exécutée séparément pour chaque enregistrement qui doit figurer dans la ListBox au moment où il sera affiché ; vous n'avez pas besoin de faire une boucle sur les enregistrements, 4D le fait automatiquement. Nous allons utiliser la nouvelle commande 4D v11 SQL, Choisir, pour vous montrer comment utiliser une expression avec une méthode projet. La commande Choisir vous permet de simplifier le code quand on affiche des données qui ont été retournées par plusieurs sources. Dans cet exemple, nous avons un champ Entier Long, dans la table [PEOPLE], appelé [PEOPLE]MaritalStatus. Au lieu d'afficher le numéro, qui n'est pas vraiment parlant pour un utilisateur, nous voulons afficher l'information textuelle appropriée et correspondante au numéro. En paramètre de la commande Choisir, nous passons le nom du champ et les valeurs textuelles qui pourront être sélectionnées selon le numéro passé. Considérez cette commande comme une manière simplifiée (une seule ligne de code) d'utiliser un Au cas ou qui, lui, comporterait plusieurs lignes de code pour gérer les différentes valeurs. Voici un code exemple (qui tient sur une seule ligne de code 4D) : $0 := Choisir([PEOPLE]MaritalStatus;"";"Single";"Engaged";"Married";"Separated";"Divorced";"Widow") Dans le formulaire d'entrée, nous utilisons un Pop-Up créé par la commande ENUMERATION VERS TABLEAU. Ce Pop-Up affiche et permet de sélectionner la valeur stockée dans ce champ. Une autre fonctionnalité sympathique disponible avec la sélection courante (ou sélection temporaire) est le fait que vous pouvez permettre à un utilisateur de modifier les données directement dans les cellules de la ListBox. Ceci peut être réalisé en saisissant une nouvelle valeur ou en la sélectionnant dans un pop-up. Si vous utilisez cette fonctionnalité, assurez-vous que la table soit en mode lecture-écriture et que la case à cocher appropriée soit activée dans les paramètres de la ListBox. A la différence des deux autres sources de données, vous pouvez utiliser les boutons Suivant/Précédent dans le formulaire d'entrée. Exemple 3 - Sélection temporaire dans une List Box 6 / 8

Utiliser la sélection temporaire comme source de données pour la ListBox est très similaire à l'utilisation de la sélection courante. Les sélections temporaires sont semblables aux ensembles ; la différence est qu'elles gardent l'ordre de tri et maintiennent l'enregistrement courant de la sélection. En dehors des quelques points décrits plus bas, toutes les fonctionnalités de programmation et d'interface d'une ListBox utilisant une sélection temporaire sont à votre disposition. Vous pourriez écrire un bout de code qui vous permettrait de trier la sélection temporaire affichée dans la ListBox, qui est très similaire à ce qui est montré dans l'exemple avec la sélection courante, exception faite que l'interface utilisateur ne désigne pas visuellement la colonne qui opère le tri. Trier ce genre de ListBox peut paraître inutile puisque l'avantage de l'utilisation d'une sélection temporaire est que l'ordre de tri est justement préservé, mais il se peut que cela soit nécessaire. C'est en tous cas ce qui est fait dans l'exemple de cette note technique. Dans la base démo, la suppression d'un enregistrement d'une sélection temporaire de la List Box entraîne le rechargement des enregistrements et la recréation de la sélection temporaire. Autres fonctionnalités de la base exemple Tri des colonnes Dans les exemples avec les tableaux et la sélection courante, nous avons utilisé la commande TRIER COLONNES LISTBOX plutôt que TRIER. Nous avons également désactivé la propriété "triable" dans la liste des propriétés de la ListBox. Faites attention de ne pas utiliser la commande TRIER COLONNES LISTBOX si la propriété "triable" est cochée ; les résultats obtenus peuvent être erronés. TRIER COLONNES LISTBOX http://www.4d.fr/documentation/4ddocv11/cmf/cmf00916.htm 7 / 8

Vous ne pouvez pas trier une colonne qui utilise les expressions. Dans le cas où vous utilisez des champs liés avec une ListBox basée sur la sélection courante, la colonne est triée selon la valeur du champ de la table principale, et pas selon la valeur du champ de la table liée. Dans la base démo, le tri est effectué sur le champ [PEOPLE]CompanyID et pas sur le champ [COMPANY]Name qui est pourtant affiché dans la ListBox. Si vous utilisez des tableaux, gardez à l'esprit que ce sont les tableaux qui sont triés au chargement et non les enregistrements réels. Surbrillance Lorsque, sur un formulaire, vous créez un objet List Box avec soit une sélection courante soit une sélection temporaire, et que l'utilisateur sélectionne (surbrillance) un enregistrement, vous devez définir un ensemble à utiliser. Vous n'avez pas besoin de remplir l'ensemble -- ce sera fait par la ListBox --, mais vous devez saisir le nom de l'ensemble dans les propriétés de cette ListBox. Si ce n'est pas fait, l'utilisateur ne pourra pas sélectionner d'enregistrement dans la ListBox et vous ne pouvez pas le faire par programmation. Quand on utilise les tableaux, un tableau de booléens est créé automatiquement comme dans les versions précédentes. Paramétrages des styles et polices Avec les tableaux, vous utilisez la même méthode qu'auparavant : vous remplissez les tableaux adéquats avec vos paramètres concernant les styles, les couleurs de polices et les couleurs de fond, etc... Chaque élément de ces tableaux correspond à chaque élément dans le tableau des données. Avec l'utilisation de la sélection courante ou de la sélection temporaire, vous définissez ces valeurs de la même manière ou presque que pour l'utilisation des expressions. Vous exécutez une méthode projet qui est appelée pour chaque ligne individuellement et qui fixe le style, la couleur, la police spécifiques selon l'enregistrement qui figure dans la ligne. Si vous souhaitez définir un même style et une même police, il n'est pas nécessaire d'exécuter la méthode pour chaque ligne ; vous pouvez définir des valeurs par défaut dans la liste des propriétés de la List Box. Examinez la méthode projet ListBox_CS_RowColor pour savoir comment nous avons défini la couleur d'une ligne selon la valeur du champ [PEOPLE]MaritalStatus correspondant à l'enregistrement. Conclusion Les fonctionnalités de 4D v11 SQL proposent trois modes d'utilisation des données dans une ListBox. Le premier mode, extrêmement utile, et qui existait déjà avec 4D 2004 : l'utilisation des tableaux. Et les deux autres nouveaux modes, récemment introduits avec 4D v11 SQL : l'utilisation de la sélection courante et l'utilisation de la sélection temporaire. Cela signifie que vous n'avez plus besoin de charger, manipuler et effacer les tableaux. Vous pouvez utiliser directement des enregistrements ou des expressions dans une ListBox, ce qui vous permet de définir et d'utiliser les List Box avec peu, ou pas, de code. 8 / 8