Cet exemple montre comment empêcher de dupliquer les données de l’onglet "Fournisseurs" de la fiche article lors de la duplication de la fiche.
Il suffira d’implémenter l’interface MercatorUi.ICustomizers.IFormLoadCustomizer pour utiliser l’évènement AfterRecordDuplicate.
Source du code :
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Windows.Forms;
using MercatorApi;
using MercatorUi;
using System.Linq;
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;
sigForm.Sig.AfterRecordDuplicate += SigStock_AfterRecordDuplicate;
}
public void FormClosedCustomize(Form form)
{
MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)form;
sigForm.Sig.AfterRecordDuplicate -= SigStock_AfterRecordDuplicate;
}
void SigStock_AfterRecordDuplicate(object sender, MercatorUi.Sig.Sig.AfterRecordDuplicateEventArgs e)
{
MercatorUi.Forms.Sig.SigGrids.ArtFou artFou = e.SigForm.MovableControls.Values.OfType<MercatorUi.Forms.Sig.SigGrids.ArtFou>().FirstOrDefault();
if (artFou != null)
{
artFou.Grid.CurrentCell = null;
DataTable dt = (DataTable)artFou.Grid.DataSource;
dt.Rows.Clear();
}
}
}
}