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

Ecrans personnalisables : boutons

0000001981     -      08/05/2013

Les boutons peuvent être ajoutés librement dans les signalétiques de Mercator. Cela se fait via cet outil : paramsigbutton.
Chaque bouton fait référence à un code écrit en C#, qui est stocké dans la propriété "code" du bouton. Un éditeur C# avec coloration de syntaxe et intellisense est disponible à cet effet. Quand cette propriété est ouverte pour la première fois, un code minimum est placé dans l'éditeur. Il suffit d'écrire le code juste sous le commentaire : // enter your customized code here.

L'exemple ci-dessous montre comment exécuter un code qui va exploite une donnée de la fiche en cours. (Le nom du client dans notre exemple)

Zoom
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorController;

namespace MercatorUi.MovableControls.ButtonsCodes
{
     public static class Script
    {

         public static void Exec(MercatorUi.MovableControls. MovableButton clickedButton)
        {
             // enter your customized code here
            MercatorUi.Forms.Sig. SigForm sigForm = (MercatorUi.Forms.Sig. SigForm )clickedButton.Form;
            MercatorUi. Dialogs .Stop( string .Format( "Hello {0} !" , sigForm.DataSourceRow[ "C_NOM" ]));
        }
    }
}

Un bouton implémente donc toujours une méthode statique publique "Exec". Cette méthode reçoit toujours en paramètre le bouton sur lequel l'utilisateur à cliqué. (clickedButton). Ce bouton, qui est de type, MercatorUi.MovableControls.MovableButton, a notamment une propriété Form qui pointe vers l'écran correspondant. Cette propriété est de type Interfaces.IFormForMovableControls, çàd un type relativement général dans Mercator. Dans l'exemple présent, nous savons que nous sommes dans une fiche signalétique clients. De la sorte, nous pouvons faire un cast vers le type plus précis MercatorUi.Forms.Sig.SigForm. Ce type nous offre un accès à un objet de type DataRow qui est DataSourceRow et qui contient le record en cours du fichier clients.