Supprimer une colonne dans l'objet ArtFou

0000002089     -      28/12/2024

L'exemple de code ci-dessous permet de supprimer les colonnes prix et remises de l'objet ArtFou. Cette suppression ne sera effective que pour les utilisateurs dont le département ne contient ni 'A', ni 'M', ni 'I'.

Note : si ces conditions ne sont pas nécessaires (colonnes supprimées dans tous les cas) alors cela peut être effectué sans code via les règles de colonnes (Hidden = true).

La programmation se fait via un customizer de signalétique articles SigStock. Celui-ci va implémenter ces 2 interfaces :

Le code s'établit comme suit :

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

namespace SigStock
{
    public class Customizer : MercatorUi.ICustomizers.IFormLoadCustomizer, MercatorUi.ICustomizers.IFormClosedCustomizer
    {
        public void FormLoadCustomize(Form form)
        {
            MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)form;
            MercatorUi.Forms.Sig.SigGrids.ArtFou artFou = sigForm.MovableControls.Values.OfType<MercatorUi.Forms.Sig.SigGrids.ArtFou>().FirstOrDefault();
            if (artFou != null)
                artFou.AfterColumnsCreated += Artfou_AfterColumnsCreated;
        }

        public void FormClosedCustomize(Form form)
        {
            MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)form;
            MercatorUi.Forms.Sig.SigGrids.ArtFou artFou = sigForm.MovableControls.Values.OfType<MercatorUi.Forms.Sig.SigGrids.ArtFou>().FirstOrDefault();
            if (artFou != null)
                artFou.AfterColumnsCreated -= Artfou_AfterColumnsCreated;
        }

        private void Artfou_AfterColumnsCreated(object sender, EventArgs e)
        {
            MercatorUi.Forms.Sig.SigGrids.ArtFou artFou = (MercatorUi.Forms.Sig.SigGrids.ArtFou)sender;
            if (!(Globals.CurrentUserRecord.DEPT.Contains("A") ||
               Globals.CurrentUserRecord.DEPT.Contains("M") ||
               Globals.CurrentUserRecord.DEPT.Contains("I")
               ))
            {
                artFou.Grid.Columns["remise"].Visible = false;
                artFou.Grid.Columns["remise2"].Visible = false;
                artFou.Grid.Columns["remise3"].Visible = false;
                artFou.Grid.Columns["remise4"].Visible = false;
                artFou.Grid.Columns["prix"].Visible = false;
            }
        }
    }
}

Autre module concernant Artfou : Ajouter une colonne "Prix Net" dans l'objet ArtFou



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)