Koppel een dropdown aan een toegevoegde optie in "Tools-Opties"

0000002440     -      09-09-2025

Deze parametrering toont hoe je een dropdown linkt aan een optie in "Tools-Opties".

Eerder werd deze optie toegevoegd in de tabel OPTIONS via deze query:

insert into options (type,valeur, stem,libelle_f) values ('CLOT_CAISS','Jour', 'PARAMS','Mode clôture caisse')

 
De customizer hieronder beschreven gebruikt het event NodeCreationg uit het optievenster MercatorUi.Forms.Param.ParamOptionsForm.
 
In de EventArgs van dit event, kunnen we de volgende zaken specifiëren:
  • MinMaxInt: om de invoer van een geheel getal toe te staan gedefinieerd tussen een minimum en maximum bereik
  • MinMaxDouble: om de invoer van een decimaal getal toe te staan gedefinieerd tussen een minimum en maximum bereik
  • ComboItems: om een dropdown toe te voegen. De elementen van de dropdown moeten gescheiden worden door een puntkomma.

Opmerkingen :

  • met een van deze eigenschappen zal er rekening gehouden worden
  • het is niet mogelijk om de standaard weergave-opties te wijzigen, Merctor bepaalt zelf de input-interface.

De code van deze customizer gaat als volgt:

Zoom
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;

// <CompileWithRoslyn />

namespace Main
{
    public class Customizer : MercatorUi.ICustomizers.IExec
    {
        public void Main(MercatorUi.ICustomizers.ExecAction action)
        {
            if (action == MercatorUi.ICustomizers.ExecAction.DossierOpen)
            {
                Globals.Main.BaseFormCreating += Main_BaseFormCreating;
            }
            else if (action == MercatorUi.ICustomizers.ExecAction.DossierClose)
            {
                Globals.Main.BaseFormCreating -= Main_BaseFormCreating;
            }
        }

        void Main_BaseFormCreating(object sender, MercatorUi.Main.BaseFormCreatingEventArgs e)
        {
            if (e.Form is MercatorUi.Forms.Param.ParamOptionsForm paramOptionsForm)
            {
                paramOptionsForm.AddingNode += new MercatorUi.Forms.Param.ParamOptionsForm.AddingNodeEventHandler(paramOptionsForm_AddingNode);
                paramOptionsForm.Disposed += new EventHandler(paramOptionsForm_Disposed);
            }
        }
        
        void paramOptionsForm_AddingNode(object sender, MercatorUi.Forms.Param.ParamOptionsForm.AddingNodeEventArgs e)
        {
            if (e.Id == "CLOT_CAISS")
            {
                e.ComboItems = "Dag,Week";
            }
        }

        void paramOptionsForm_Disposed(object sender, EventArgs e)
        {
            MercatorUi.Forms.Param.ParamOptionsForm paramOptionsForm = (MercatorUi.Forms.Param.ParamOptionsForm)sender;
            paramOptionsForm.AddingNode -= paramOptionsForm_AddingNode;
            paramOptionsForm.Disposed -= paramOptionsForm_Disposed;
        }
    }
}

 



Functionele cookies: Cookies die nodig zijn voor het gebruik van de website en voorkeurscookies. Ze bevatten geen persoonsgegevens. (Meer informatie)

Analytische cookies: Verzamelen van statistieken met betrekking tot het gedrag van internetgebruikers. (Meer informatie)

Marketingcookies: Om bezoekers op verschillende websites te volgen voor advertentiedoeleinden. (Meer informatie)