Dans le combo sous la grille des articles liés, retirer les éléments de prix d'achat

0000002388     -      30/07/2025

La programmation décrite ici permet de retirer les éléments

  • dernier prix d'achat
  • PMPA
  • prix de revient

du combo situé sous la grille des articles liés dans la fiche article.

Le code est construit sur base d'un customizer SigStock qui implémente ces interfaces :

La méthode FormLoadCustomize va permettre d'enregistrer l'évènement AssociatedPanelCreated, par lequel nous allons retirer les éléments non souhaités.

Le code est le suivant :

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

namespace SigStock
{
    public class Customizer : MercatorUi.ICustomizers.IFormLoadCustomizer, MercatorUi.ICustomizers.IFormClosedCustomizer
    {
        public void FormLoadCustomize(System.Windows.Forms.Form form)
        {
            MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)form;
            List<Control> l = sigForm.FindMovableControlsByType(typeof(MercatorUi.Forms.Sig.SigGrids.ArtLiens));
            if (l.Count > 0)
            {
                MercatorUi.Forms.Sig.SigGrids.ArtLiens artLiens = (MercatorUi.Forms.Sig.SigGrids.ArtLiens)l[0];
                artLiens.AssociatedPanelCreated +=  ArtLiens_AssociatedPanelCreated);
            }
        }

        public void FormClosedCustomize(System.Windows.Forms.Form form)
        {
            MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)form;
            List<Control> l = sigForm.FindMovableControlsByType(typeof(MercatorUi.Forms.Sig.SigGrids.ArtLiens));
            if (l.Count > 0)
            {
                MercatorUi.Forms.Sig.SigGrids.ArtLiens artLiens = (MercatorUi.Forms.Sig.SigGrids.ArtLiens)l[0];
                artLiens.AssociatedPanelCreated -= ArtLiens_AssociatedPanelCreated;
            }
        }

        void ArtLiens_AssociatedPanelCreated(object sender, MercatorUi.MovableControls.MovableGrid.AssociatedPanelCreatedEventArgs e)
        {
            MercatorUi.Forms.Sig.SigGrids.ArtLiens artLiens = (MercatorUi.Forms.Sig.SigGrids.ArtLiens)sender;
            DataTable dt = (DataTable)artLiens.ComboBoxExPrix.DataSource;
            DataRow[] foundRows = dt.Select("(source='S_DPA') or (source='S_PMPA') or (source='S_PRIX_REV')");
            foreach (DataRow dr in foundRows)
                dt.Rows.Remove(dr);
            artLiens.FillWithData();
        }
    }
}

 



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)