Vous consultez une page technique concernant le logiciel de gestion Mercator. Celle-ci contient des informations spécifiques destinées aux professionnels de Mercator. Souhaitez-vous être redirigés vers des informations plus générales ?


   Ne plus poser cette question

Dans un écran d'encodage de document, positionner le focus sur un champ au choix après validation

0000002318     -      25/11/2016

Cette programmation montre comment exécuter du code dans l'évèvement BeforeSave pour placer le curseur sur un champ précis. L'exemple est fait pour une validation refusée du champ REFERENCE du document et permet de positionner le focus sur ce champ.

Il s'établit comme suit :

Zoom
private void billingEngine_BeforeSave(object sender, MercatorUi.Engine.Gescom.BillingEngine.BeforeSaveEventArgs e)
{
    MercatorUi.Engine.Gescom.BillingEngine billingEngine = (MercatorUi.Engine.Gescom.BillingEngine) sender;
    MercatorUi._BaseClasses.TimerOneShot timer = new MercatorUi._BaseClasses.TimerOneShot(timer_Tick, billingEngine);
    List <Control> l = billingEngine.BillingForm.FindMovableControlsBySource("REFERENCE");
    if (l.Count > 0)
        e.CancelSave = true;
}


void timer_Tick(object sender, EventArgs e)
{
    MercatorUi._BaseClasses.TimerOneShot timer = (MercatorUi._BaseClasses.TimerOneShot)sender;
    MercatorUi.Engine.Gescom.BillingEngine billingEngine = (MercatorUi.Engine.Gescom.BillingEngine) timer.Tag;
    List <Control> l = billingEngine.BillingForm.FindMovableControlsBySource("REFERENCE");
    if (l.Count > 0)
        _Divers.FocusError(l[0]);
}