U bevindt zich nu op een technische pagina over de software Mercator. Deze pagina bevat specifieke informatie die bestemd is voor professionals van de software Mercator. Wenst u naar algemenere informatie over Mercator door te gaan?


   Deze vraag niet meer stellen

Filter de sequenties in het dialoogvenster Historiek van het Commercieel beheer

0000003001     -      21-01-2021

Deze customizer laat zien hoe de sequenties die worden weergegeven in het dialoogvenster van de historiek van documenten van het Commercieel beheer met code kunnen worden gefilterd. Dit wordt gedaan door een customizer HistCli die de interface IDialogLoadCustomizer implementeert. Het gebruikt de eigenschap FilterPredicate van het formulier, die een predikaatfunctie kan ontvangen waarvan de parameter van het type MercatorUi.Forms.Hist.HistDialogs.HistAskDoc.SequencDescriptor is, met daarin:

  • Journaal
  • Lib
  • Type
  • Volgorde

(De andere informatie in de sequentie moet worden opgehaald, indien van toepassing, uit de tabel  SEQUENC van de database)

Deze predikaatfunctie moet een booleaanse waarde terugsturen:

  • true : het element wordt weergegeven
  • false : het element wordt niet weergegeven

Bij het installeren van de functie is het noodzakelijk om de methode RefreshListViewSequenc aan te roepen, aangezien deze wordt geïnstalleerd na de eerste weergave uitgevoerd door Mercator. Nadien is het niet meer nodig om deze methode aan te roepen, behalve als de predikaatfunctie rekening houdt met elementen die er buiten staan.

Hieronder een voorbeeld van code :

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

namespace HistCli
{
    public class Customizer : MercatorUi.ICustomizers.IDialogLoadCustomizer
    {

        public void DialogLoadCustomize(System.Windows.Forms.Form form)
        {
            MercatorUi.Forms.Hist.HistDialogs.HistAskDoc histAskDoc = (MercatorUi.Forms.Hist.HistDialogs.HistAskDoc)form;
            histAskDoc.FilterPredicate = (sequencDescriptor) =>
            {
                if (sequencDescriptor...)
                    return true;
                else
                    return false;
            };
            histAskDoc.RefreshListViewSequenc();
        }
    }
}