U bevindt zich nu op een technische pagina over de software Mercator. Deze pagina bevat specifieke informatie die bestemd is voor professionals van de software Mercator. Wenst u naar algemenere informatie over Mercator door te gaan?


   Deze vraag niet meer stellen

Gepersonaliseerde schermen : knoppen

0000001981     -      08-05-2013

Knoppen kunnen vrij worden toegevoegd in de informatiebestanden van Mercator. Daartoe gebruikt u deze tool : paramsigbutton.
Elke knop verwijst naar een code geschreven in C#, die opgeslagen is in de "Code"-eigenschap van de knop. Daartoe is een C#-editor met Syntax Coloration en Intellisense beschikbaar. Wanneer deze eigenschap voor het eerst wordt geopend, wordt in de editor een minimumcode geplaatst. U hoeft enkel de juiste code onder de commentaar te schrijven: // enter your customized code here.

In het onderstaande voorbeeld laten we zien hoe u een code uitvoert die een gegeven van de actieve fiche zal gebruiken (de naam van de klant in ons voorbeeld).

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" ]));
        }
    }
}

Een knop implementeert dus altijd een openbare statische methode "Exec". Deze methode krijgt altijd als parameter de knop waarop de gebruiker heeft geklikt (clickedButton). Deze knop (van het type MercatorUi.MovableControls.MovableButton) heeft onder andere een Form-eigenschap die verwijst naar het overeenstemmende scherm. Deze eigenschap is van het type Interfaces.IFormForMovableControls, m.a.w.: een relatief algemeen type in Mercator. In dit voorbeeld weten we dat we in een fiche van het informatiebestand "Klanten" zitten. Bijgevolg kunnen we een cast realiseren naar het preciezere type MercatorUi.Forms.Sig.SigForm. Dit type biedt ons toegang tot een object van het type DataRow dat DataSourceRow is en het actieve record van het klantenbestand bevat.