Désactiver les sous-boutons de suppression de lignes dans un écran de la gestion commerciale

0000002627     -      25/03/2016

La programmation effectuée ici montre comment désactiver les 2 sous-boutons de suppression de lignes dans un écran de la gestion commerciale. Elle est réalisée sous la forme d'un customizer Billing qui implémente les interfaces MercatorUi.ICustomizers.IBillingEngineCreated et MercatorUi.ICustomizers.IBillingEngineClosed.

Le code commenté s'établit comme suit :

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

namespace Billing
{
    public class Customizer : MercatorUi.ICustomizers.IBillingEngineCreated, MercatorUi.ICustomizers.IBillingEngineClosed
    {

        public void BillingEngineCreated(MercatorUi.Engine.Gescom.BillingEngine BillingEngine)
        {
            BillingEngine.BillingFormLoaded += new EventHandler(BillingEngine_BillingFormLoaded);
        }

        public void BillingEngineClosed(MercatorUi.Engine.Gescom.BillingEngine BillingEngine)
        {
            BillingEngine.BillingFormLoaded -= new EventHandler(BillingEngine_BillingFormLoaded);
        }

        void BillingEngine_BillingFormLoaded(object sender, EventArgs e)
        {
            MercatorUi.Engine.Gescom.BillingEngine billingEngine = (MercatorUi.Engine.Gescom.BillingEngine)sender;
            foreach (Control c in billingEngine.BillingForm.Controls)
            {
                if (c.Name == "bleuPro1") // on a identifié le bandeau dans le bas de l'écran
                {
                    // on va chercher le premier bouton, çàd le dernier dans la collection Controls du bandeau
                    MercatorUi.BoutonsPro.ButtonXPro buttonLignes = (MercatorUi.BoutonsPro.ButtonXPro)c.Controls[c.Controls.Count - 1];
                    buttonLignes.SubItems[2].Enabled = false; // disabler "Supprimer ligne"
                    buttonLignes.SubItems[3].Enabled = false; // disabler "Supprimer toutes les lignes"
                }
            }
        }
    }
}