Kolommen toevoegen per code in de LinesEditor compatibel met de functie kolommen opslaan

0000002639     -      04-05-2016

Ziehier een customizer-voorbeeld die toont hoe je kolommen toevoegt via de LinesEditor, wetende dat deze manier om kolommen toe te voegen perfect compatibel is met de functie "Kolommen bewaren" in de sequentie. De toegevoegde kolommen zullen behandeld worden als standaardkolommen en hun positie en grootte worden bewaard, voor als men het scherm een volgende keer opent.

De customizer gebruikt het event LinesEditorPrefApplying van de BillingEngine. Deze wordt aangeroepen net voor Mercator de opgeslagen voorkeuren met betrekking tot positie en afmetingen inlaadt.

De C# code is volgende:

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

namespace Billing
{
    public class Customizer : MercatorUi.ICustomizers.IBillingEngineCreated, MercatorUi.ICustomizers.IBillingEngineClosed
    {

        public void BillingEngineCreated(MercatorUi.Engine.Gescom.BillingEngine BillingEngine)
        {
            BillingEngine.LinesEditorPrefApplying += new MercatorUi.Engine.Gescom.BillingEngine.LinesEditorPrefApplyingEventHandler(BillingEngine_LinesEditorPrefApplying);
        }

        public void BillingEngineClosed(MercatorUi.Engine.Gescom.BillingEngine BillingEngine)
        {
            BillingEngine.LinesEditorPrefApplying -= new MercatorUi.Engine.Gescom.BillingEngine.LinesEditorPrefApplyingEventHandler(BillingEngine_LinesEditorPrefApplying);
        }

        private void BillingEngine_LinesEditorPrefApplying(object sender, MercatorUi.Engine.Gescom.BillingEngine.LinesEditorPrefApplyingEventArgs e)
        {
            DataGridViewTextBoxColumn newCol = new DataGridViewTextBoxColumn();
            newCol.Name = "Name";
            newCol.HeaderText = "Header";
            newCol.Width = 100;
            newCol.DataPropertyName = "Source";
            newCol.ReadOnly = false;
            newCol.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
            e.Grid.Columns.Add(newCol);
        }
    }
}


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)