Cocher par défaut une case dans la grille des articles liés

0000003188     -      26/10/2023

Le code proposé ici montre comment cocher par défaut une case la grille des articles liés, après sélection d'un article. Dans cette grille, les noms des colonnes "cases à cocher" sont "PR", "VEN", "ACH", "PROD", "VEN2", "ACH2", "PROD2", "VEN3", "ACH3", "PROD3". L'exemple est donné pour la colonne A, donc "ACH".

Cette programmation est réalisée sur base d'un customizer SigStock qui implémente les interfaces suivantes :

Il exploite l'événement AfterSelectNewSigRecord de ArtLiens qui permet d'exécuter un code sur mesure après la sélection d'un article dans la grille.

Zoom
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;
using System.Linq;

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;
            MercatorUi.Forms.Sig.SigGrids.ArtLiens artliens = sigForm.MovableControls.Values.OfType<MercatorUi.Forms.Sig.SigGrids.ArtLiens>().FirstOrDefault();
            if (artliens != null)
                artliens.AfterSelectNewSigRecord += GridArtliens_AfterSelectNewSigRecord;
        }

        public void FormClosedCustomize(System.Windows.Forms.Form form)
        {
            MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)form;
            MercatorUi.Forms.Sig.SigGrids.ArtLiens artliens = sigForm.MovableControls.Values.OfType<MercatorUi.Forms.Sig.SigGrids.ArtLiens>().FirstOrDefault();
            if (artliens != null)
                artliens.AfterSelectNewSigRecord -= GridArtliens_AfterSelectNewSigRecord;
        }

        private void GridArtliens_AfterSelectNewSigRecord(object sender, MercatorUi.MovableControls.MovableGrid.AfterSelectNewSigRecordEventArgs e)
        {
            MercatorUi.Forms.Sig.SigGrids.ArtLiens artliens = (MercatorUi.Forms.Sig.SigGrids.ArtLiens)sender;
            artliens.Grid.Rows[e.RowIndex].Cells["ACH"].Value = true;
        }
    }
}


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)