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

Illustration du fonctionnement des évènements AfterRead, BeforeWrite et AfterWrite dans le signalétique clients

0000002001     -      07/11/2013

Cet exemple de customizer montre l'utilisation des évènements AfterRead, BeforeWrite et AfterWrite dans le signalétique clients. Il est constuit sur base d'un customizer SigCli qui implémente ces interfaces :

Le code, écrit dans le seul but de compréhension de ces 3 évènements, s'écrit comme suit :

Zoom
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;
using System.Windows.Forms;

namespace SigCli
{
     public class Customizer : MercatorUi.ICustomizers. IFormLoadCustomizer , MercatorUi.ICustomizers. IFormClosedCustomizer
    {

         public void FormLoadCustomize(System.Windows.Forms. Form WindowsForm)
        {
            MercatorUi.Forms.Sig. SigForm sigForm = (MercatorUi.Forms.Sig. SigForm )WindowsForm;
             List < Control > l = sigForm.FindMovableControlsBySource( "C_NOM" );
             if (l.Count > 0)
            {
                MercatorUi.MovableControls. MovableTextBox textBox = (MercatorUi.MovableControls. MovableTextBox )l[0];
                textBox.AfterRead += new MercatorUi.MovableControls. MovableTextBox . AfterReadHandler (textBox_AfterRead);
                textBox.BeforeWrite += new MercatorUi.MovableControls. MovableTextBox . BeforeWriteHandler (textBox_BeforeWrite);
                textBox.AfterWrite += new MercatorUi.MovableControls. MovableTextBox . AfterWriteHandler (textBox_AfterWrite);
            }
        }

        
         public void FormClosedCustomize(System.Windows.Forms. Form WindowsForm)
        {
            MercatorUi.Forms.Sig. SigForm sigForm = (MercatorUi.Forms.Sig. SigForm )WindowsForm;
             List < Control > l = sigForm.FindMovableControlsBySource( "C_NOM" );
             if (l.Count > 0)
            {
                MercatorUi.MovableControls. MovableTextBox textBox = (MercatorUi.MovableControls. MovableTextBox )l[0];
                textBox.AfterRead -= new MercatorUi.MovableControls. MovableTextBox . AfterReadHandler (textBox_AfterRead);
                textBox.BeforeWrite -= new MercatorUi.MovableControls. MovableTextBox . BeforeWriteHandler (textBox_BeforeWrite);
                textBox.AfterWrite -= new MercatorUi.MovableControls. MovableTextBox . AfterWriteHandler (textBox_AfterWrite);
            }
        }

         void textBox_AfterRead( object sender, EventArgs e)
        {
            MercatorUi.MovableControls. MovableTextBox textBox = (MercatorUi.MovableControls. MovableTextBox )sender;
            MercatorUi. Dialogs .Stop( string .Format( "La valeur lue dans la DB est \"{0}\"." , textBox.Text));
        }

         void textBox_BeforeWrite( object sender, EventArgs e)
        {
            MercatorUi.MovableControls. MovableTextBox textBox = (MercatorUi.MovableControls. MovableTextBox )sender;
            MercatorUi. Dialogs .Stop( string .Format( "La valeur qui, en cas de modification, sera être écrite dans la DB est \"{0}\"." , textBox.Text));
        }

         void textBox_AfterWrite( object sender, EventArgs e)
        {
            MercatorUi.MovableControls. MovableTextBox textBox = (MercatorUi.MovableControls. MovableTextBox )sender;
            MercatorUi. Dialogs .Stop( string .Format( "La valeur \"{0}\" a été écrite dans la DB." , textBox.Text));
        }

    }
}