Vous consultez une page technique concernant le logiciel de gestion Mercator. Celle-ci contient des informations spécifiques destinées aux professionnels de Mercator. Souhaitez-vous être redirigés vers des informations plus générales ?


   Ne plus poser cette question

Utiliser les éléments Ajouter, Dupliquer, Supprimer du menu Edition dans un écran sur mesure

0000001770     -      28/07/2016
Obsolète

Mercator 7.2 permet d'utiliser les éléments Ajouter, Dupliquer, Supprimer du menu Edition dans un écran sur mesure (form). Cela permet de construire une interface cohérente entre les fenêtres standards de Mercator et celles ajoutées via le paramétrage.

  • Pour que le menu "Ajouter" soit actif quand la fenêtre sur mesure est "on the top", il suffit de lui ajouter une propriété menu_new, de type Logique, et de la mettre à .T.
  • Pour que le menu "Dupliquer" soit actif quand la fenêtre sur mesure est "on the top", il suffit de lui ajouter une propriété menu_dupl, de type Logique, et de la mettre à .T.
  • Pour que le menu "Supprimer" soit actif quand la fenêtre sur mesure est "on the top", il suffit de lui ajouter une propriété menu_del, de type Logique, et de la mettre à .T.

Les commandes qui sont exécutées par ces différents menus doivent être implémentées sous forme de méthode dans la fenêtre sur mesure :

  • Ajouter : méthode do_menu_new
  • Dupliquer : méthode do_menu_dupl
  • Supprimer : méthode do_menu_del

Remarque : il n'est pas obligatoire de mettre cette mécanique en oeuvre pour les 3 menus ensemble. Il est donc possible d'ouvrir la fonctionnalité "Ajouter" sans mettre en oeuvre la fonctionnalité "Dupliquer", par exemple.


 

Exemple

L'exemple repris ci-dessous permet d'ajouter une fenêtre dans "Outils / Paramètres", alimentant une table externe (GLOSSAIRE dans notre exemple). Cette fenêtre profitera de la possibilité de créer et de supprimer des enregistrements à partir du menu "Edition". Dans notre exemple, il s'agit simplement de compléter un glossaire avec des chaînes de caractères standards en français, en néerlandais et en anglais.

 

1. Il faut tout d'abord créer la table sur le serveur SQL. Ceci peut se faire à l'aide des outils SQL ou avec cette requête.

CREATE TABLE [dbo].[GLOSSAIRE](
     [ID] [int] IDENTITY(1,1) NOT NULL,
     [texte_f] [char](250) NOT NULL,
     [texte_n] [char](250) NOT NULL,
     [texte_e] [char](250) NOT NULL,
CONSTRAINT [PK_GLOSSAIRE] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

ALTER TABLE [dbo].[GLOSSAIRE] ADD CONSTRAINT [DF_GLOSSAIRE_texte_f] DEFAULT ('') FOR [texte_f]
GO

ALTER TABLE [dbo].[GLOSSAIRE] ADD CONSTRAINT [DF_Table_1_texte_N] DEFAULT ('') FOR [texte_n]
GO

ALTER TABLE [dbo].[GLOSSAIRE] ADD CONSTRAINT [DF_GLOSSAIRE_texte_a] DEFAULT ('') FOR [texte_e]
GO

 

2. Il faut ajouter le point de menu.

Cela se fait via un module menu.prg contenant ceci.

local le_menu
le_menu=iif_langue2(m.la_langue,'setup','setup','setup','paramètres')
DEFINE BAR 9415427 OF &le_menu PROMPT iif_langue(m.la_langue,'Glossaire','Glossaire','Glossaire')
ON SELECTION BAR 9415427 OF &le_menu do list_glossaire

Attention : veillez bien à remplacer 9415427 par une valeur numérique unique. (n'importe quelle valeur)

Ce menu exécute le fichier list_glossaire.fxp présent dans le fichier zip et à placer dans le répertoire principal de Mercator. Ce code permet l'affichage de la fenêtre list_glossaire.scx.

 

3. Créer la fenêtre sur mesure.

Pour la facilité de l'exemple, le code source de la fenêtre (form) list_glossaire.scx est jointe au fichier zip. (A dézipper dans le répertoire principal)
Dans cette fenêtre, les menus "Edition / Ajouter" et "Edition / Supprimer" ont été activés. De la sorte, cette fenêtre apparaît exactement comme une fenêtre de paramètres standards de Mercator, alors qu'il s'agit d'une fenêtre ajoutée dans le paramétrage.



A télécharger : 0000001770.zip (4 Kb - 09/11/2009)


Vous consultez une page relative à une version de Mercator qui n'est plus commercialisée ni supportée.

Mercator est une application .net qui utilise une base de données SQL Server. Les informations sur cette page ne correspondent plus à ces caractéristiques.