Le customizer décrit ici permet d'afficher par défaut le nom du tiers dans la première grille de l'interrogation commerciale articles. Comme si l'utilisateur avait sélectionné le menu contextuel "Montrer Nom Tiers".
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorExtensions;
using MercatorUi;
using System.Windows.Forms;
using System.Linq;
namespace SigStock
{
public class Customizer : MercatorUi.ICustomizers.IFormLoadCustomizer, MercatorUi.ICustomizers.IFormClosedCustomizer
{
public void FormLoadCustomize(Form windowsForm)
{
MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)windowsForm;
var stockInterro = sigForm.MovableControls.Values.OfType<MercatorUi.Forms.Sig.SigObjects.StockInterro>().FirstOrDefault();
if (stockInterro != null)
stockInterro.Grid1.StandardColumnsCreated += Grid1_StandardColumnsCreated;
}
public void FormClosedCustomize(Form windowsForm)
{
MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)windowsForm;
var stockInterro = sigForm.MovableControls.Values.OfType<MercatorUi.Forms.Sig.SigObjects.StockInterro>().FirstOrDefault();
if (stockInterro != null)
stockInterro.Grid1.StandardColumnsCreated -= Grid1_StandardColumnsCreated;
}
private void Grid1_StandardColumnsCreated(object sender, EventArgs e)
{
var grid1 = (MercatorUi.GridPro.DataGridViewXPro)sender;
string menuString = Api.Proper(_Divers.Iif_langue(Globals.Langue, "Show Thirdp. Name", "Derdepers. Naam Tonen", "Montrer Nom Tiers"));
var mnuToggleName = grid1.ContextMenuStripGrid.Items.OfType<ToolStripMenuItem>().Where(p => p.Text == menuString).FirstOrDefault();
if ((mnuToggleName != null) && !mnuToggleName.Checked)
mnuToggleName.PerformClick();
}
}
}