Met de onderstaande voorbeeldcode kunnen de prijs- en kortingkolommen in het object ArtFou worden geschrapt. Deze schrapping zal enkel gelden voor de gebruikers waarvan het departement geen 'A', 'M' of 'I' bevat.
Nota: als deze voorwaarden niet nodig zijn (kolommen in alle gevallen verwijderd) dan kan dit zonder code via kolomregels (Hidden = true).
Het programmeren gebeurt via een customizer van het informatiebestand "Artikels", SigStock, die de volgende 2 interfaces implementeert:
De code ziet er als volgt uit:
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;
}
}
}
}
Andere module met betrekking tot Artfou: Een kolom "Nettoprijs" toevoegen in het object ArtFou