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

Supprimer une colonne dans l'objet ArtFou

0000002089     -      08/05/2013

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'.

Ceci 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;

namespace SigStock
{
     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.FindMovableControlsByType( typeof (MercatorUi.Forms.Sig.SigGrids.ArtFou));
             if (l.Count != 0)
            {
                MercatorUi.Forms.Sig.SigGrids.ArtFou artFou = (MercatorUi.Forms.Sig.SigGrids.ArtFou) l[0];
                artFou.AfterColumnsCreated += new MercatorUi.MovableControls.MovableGrid.AfterColumnsCreatedHandler(Artfou_AfterColumnsCreated);
            }
        }

         public void FormClosedCustomize(System.Windows.Forms. Form WindowsForm)
        {
            MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm) WindowsForm;
             List < Control > l = sigForm.FindMovableControlsByType( typeof (MercatorUi.Forms.Sig.SigGrids.ArtFou));
             if (l.Count != 0)
            {
                MercatorUi.Forms.Sig.SigGrids.ArtFou artFou = (MercatorUi.Forms.Sig.SigGrids.ArtFou) l[0];
                artFou.AfterColumnsCreated -= new MercatorUi.MovableControls.MovableGrid.AfterColumnsCreatedHandler(Artfou_AfterColumnsCreated);
            }
        }

         private void Artfou_AfterColumnsCreated( Object sender, EventArgs e) // supprimer les colonnes "remise", "remise2", "remise3", "remise4" et "prix"
        {
            MercatorUi.Forms.Sig.SigGrids.ArtFou artFou = (MercatorUi.Forms.Sig.SigGrids.ArtFou) sender;
             if (!( (Globals.CurrentUser[ "dept" ].ToString()).Contains( "A" ) ||
                (Globals.CurrentUser[ "dept" ].ToString()).Contains( "M" ) ||
                (Globals.CurrentUser[ "dept" ].ToString()).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