Een knop toevoegen in het aanmaningvenster die data ophaalt

0000002293     -      15-06-2025

Deze module hier laat toe om een knop toe te voegen in de onderste band van het scherm. Deze knop laat toe om een actie te activeren, met inbegrip van het aanbrengen van wijzigingen in de dataset, die zich achter het rooster bevindt. In ons voorbeeld, beperken we ons tot het weergeven van de Dataset.

Als het aanmaningvenster niet beschikt over een eigen customizer, moet men hem bereiken via de Main-customizer met het BaseFormCreating. De knop die toegevoegd zal worden is van het type MercatorUi.BoutonsPro.ButtonXPro, dit wil zeggen dat het een knop is met grafische verbeteringen van Mercator. (Het is mogelijk om een eenvoudige Systems.Windows.Forms.Button toe te voegen.) De knop zal beschikken over een foto van 32x32 pixels (bijvoegd in het zip-bestand)

De code gaat als volgt:

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

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.GetType() == typeof(MercatorUi.Forms.Accounting.AccountingRemindersForm))
                e.Form.Shown += AccountingRemindersForm_Shown;
        }

        void AccountingRemindersForm_Shown(object sender, EventArgs e)
        {
            MercatorUi.Forms.Accounting.AccountingRemindersForm accountingRemindersForm = (MercatorUi.Forms.Accounting.AccountingRemindersForm)sender;
            accountingRemindersForm.Shown -= AccountingRemindersForm_Shown;
            MercatorUi.BoutonsPro.BleuPro bleuPro1 = (MercatorUi.BoutonsPro.BleuPro)accountingRemindersForm.Controls["bleuPro1"];
            MercatorUi.BoutonsPro.ButtonXPro buttonCustom = new MercatorUi.BoutonsPro.ButtonXPro
            {
                AccessibleRole = AccessibleRole.PushButton,
                Font = new Font("Microsoft Sans Serif", 8.25F, FontStyle.Regular, GraphicsUnit.Point, 0),
                Image = Image.FromFile("window_edit.png"),
                Location = new Point(250, 5),
                Name = "buttonCustom",
                Size = new Size(120, 48),
                SubItemsExpandWidth = 16,
                Text = "Custom Action"
            };
            buttonCustom.Click += buttonCustom_Click;
            buttonCustom.Disposed += ButtonCustom_Disposed;
            bleuPro1.Controls.Add(buttonCustom);
        }

        private void ButtonCustom_Disposed(object sender, EventArgs e)
        {
            MercatorUi.BoutonsPro.ButtonXPro buttonCustom = (MercatorUi.BoutonsPro.ButtonXPro)sender;
            buttonCustom.Click -= buttonCustom_Click;
            buttonCustom.Disposed -= ButtonCustom_Disposed;
        }

        void buttonCustom_Click(object sender, EventArgs e)
        {
            MercatorUi.BoutonsPro.ButtonXPro buttonCustom = (MercatorUi.BoutonsPro.ButtonXPro)sender;
            MercatorUi.Forms.Accounting.AccountingRemindersForm accountingRemindersForm = (MercatorUi.Forms.Accounting.AccountingRemindersForm)buttonCustom.FindForm();
            _Divers.ViewData(accountingRemindersForm.DataSet, true);
        }
    }
}

Merk op dat het mogelijk is om deze code te hergebruiken in andere schermen:

  • Domiciliëringen: het type form om rekening mee te houden is hier MercatorUi.Forms.Accounting.AccountingBankDomForm en is te vinden in MercatorUi.Forms.AccountingRemindersForm.
  • De betalingen: het type venster om rekening mee te houden is hier MercatorUi.Forms.Accounting.AccountingBankPayForm en is te vinden in MercatorUi.Forms.Accounting.AccountingRemindersForm


Te laden : 0000002293.zip (1 Kb - 12-02-2014)


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)