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

0000002627     -      13/06/2025

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;
using System.Linq;

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

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

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

        void BillingEngine_BillingFormLoaded(object sender, EventArgs e)
        {
            MercatorUi.Engine.Gescom.BillingEngine billingEngine = (MercatorUi.Engine.Gescom.BillingEngine)sender;
            var bleuPro = billingEngine.BillingForm.Controls.OfType<MercatorUi.BoutonsPro.BleuPro>().FirstOrDefault(); // on a identifié le bandeau dans le bas de l'écran
            if (bleuPro != null)
            {
                MercatorUi.BoutonsPro.ButtonXPro buttonLignes = bleuPro.Controls.OfType<MercatorUi.BoutonsPro.ButtonXPro>().FirstOrDefault(b => b.Name == "lignes");
                if (buttonLignes != null)
                {
                    buttonLignes.SubItems[2].Enabled = false; // disabler "Supprimer ligne"
                    buttonLignes.SubItems[3].Enabled = false; // disabler "Supprimer toutes les lignes"
                }
            }
        }
    }
}


Cookies fonctionnels : Cookies nécessaires à l'utilisation du site et cookies de préférence. Ils ne contiennent aucune donnée à caractère personnel. (En savoir plus)

Cookies statistiques : Captation de statistiques liées aux comportements des internautes. (En savoir plus)

Cookies marketing : Pour effectuer le suivi des visiteurs au travers des sites web, à des fins publicitaires. (En savoir plus)