Dit voorbeeld toont hoe u kan voorkomen dat de gegevens van het tabblad 'Leveranciers' van de artikelfiche worden gekopieerd bij het kopiëren van de fiche.
Het volstaat om de interface van MercatorUi.ICustomizers.IFormLoadCustomizer te implementeren om het event AfterRecordDuplicate te gebruiken.
Broncode:
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();
}
}
}
}