Dit programma staat ons toe om het standaard depot, in het artikelen informatiebestand, aan te passen onder het visualisatie rooster van de stockranges (tailles en kleuren). Hij is gebouwd op een SigStock customizer die MercatorUi.ICustomizers.IFormLoadCustomizer en MercatorUi.ICustomizers.IFormClosedCustomizer interfaces implementeert en die het AfterRead evenement opereert om de overgang van bestand naar bestand te detecteren.
De lijn "gamDispo.ComboBoxDepots.SelectedIndex = 1;" maakt het mogelijk om de tweede ingang van de drop down te selecteren (die dus minstens uit twee elementen moet bestaan)
De code ziet er dus uit als volgt:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;
using System.Windows.Forms;
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;
MercatorUi.Forms.Sig.SigGrids.Gam gamDispo = (MercatorUi.Forms.Sig.SigGrids.Gam)sigForm.MovableControls["4AA0BAC1D3"];
gamDispo.AssociatedPanelCreated += new MercatorUi.MovableControls.MovableGrid.AssociatedPanelCreatedHandler(gamDispo_AssociatedPanelCreated);
gamDispo.AfterRead += new MercatorUi.MovableControls.MovableGrid.AfterReadHandler(gamDispo_AfterRead);
}
public void FormClosedCustomize(Form WindowsForm)
{
MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)WindowsForm;
MercatorUi.Forms.Sig.SigGrids.Gam gamDispo = (MercatorUi.Forms.Sig.SigGrids.Gam)sigForm.MovableControls["4AA0BAC1D3"];
gamDispo.AssociatedPanelCreated -= new MercatorUi.MovableControls.MovableGrid.AssociatedPanelCreatedHandler(gamDispo_AssociatedPanelCreated);
gamDispo.AfterRead -= new MercatorUi.MovableControls.MovableGrid.AfterReadHandler(gamDispo_AfterRead);
}
void gamDispo_AssociatedPanelCreated(object sender, MercatorUi.MovableControls.MovableGrid.AssociatedPanelCreatedEventArgs e)
{
// pour le première initialisation de la grille
gamDispo_AfterRead(sender, EventArgs.Empty);
}
void gamDispo_AfterRead(object sender, EventArgs e)
{
// lors du passage de fiche en fiche
MercatorUi.Forms.Sig.SigGrids.Gam gamDispo = (MercatorUi.Forms.Sig.SigGrids.Gam)sender;
if (gamDispo.ComboBoxDepots != null)
gamDispo.ComboBoxDepots.SelectedIndex = 1;
}
}
}
Merk op dat het wordt uitgeoefend in sigForm.MovableControls[id] en niet in sigForm.FindMovableControlsByType. Een conventionele lijst artikelen bevat normaal twee objecten van het MercatorUi.Forms.Sig.SigGrids.Gam type (één voor de prijs en één voor de beschikbare hoeveelheid) en het gevaar bestaat om de code toe te passen aan de prijslijst. De ID (4AA0BAC1D3) moet dan ook vervangen worden met de waarde die u vind in uw scherminstellingen.