using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;
namespace SigFou
{
public class Customizer : MercatorUi.ICustomizers.IFormLoadCustomizer, MercatorUi.ICustomizers.IFormClosedCustomizer
{
public void FormLoadCustomize(System.Windows.Forms.Form WindowsForm)
{
MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)WindowsForm;
if (sigForm.MovableControls.ContainsKey("841DDAADD9"))
{
MercatorUi.Forms.Sig.SigGrids.UserDefined userDefinedGrid = (MercatorUi.Forms.Sig.SigGrids.UserDefined)sigForm.MovableControls["841DDAADD9"];
userDefinedGrid.HeaderCreated += new MercatorUi.MovableControls.MovableGrid.HeaderCreatedHandler(userDefinedGrid_HeaderCreated);
userDefinedGrid.BeforeFillWithData += new MercatorUi.Forms.Sig.SigGrids.UserDefined.BeforeFillWithDataEventHandler(userDefinedGrid_BeforeFillWithData);
}
}
public void FormClosedCustomize(System.Windows.Forms.Form WindowsForm)
{
MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)WindowsForm;
if (sigForm.MovableControls.ContainsKey("841DDAADD9"))
{
MercatorUi.Forms.Sig.SigGrids.UserDefined userDefinedGrid = (MercatorUi.Forms.Sig.SigGrids.UserDefined)sigForm.MovableControls["841DDAADD9"];
userDefinedGrid.HeaderCreated -= new MercatorUi.MovableControls.MovableGrid.HeaderCreatedHandler(userDefinedGrid_HeaderCreated);
userDefinedGrid.BeforeFillWithData -= new MercatorUi.Forms.Sig.SigGrids.UserDefined.BeforeFillWithDataEventHandler(userDefinedGrid_BeforeFillWithData);
}
}
// Voeg de spinner toe aan de header (opdat de header geen null is, voegen we een titel toe aan de grid eigenschappen)
void userDefinedGrid_HeaderCreated(object sender, MercatorUi.MovableControls.MovableGrid.HeaderCreatedEventArgs e)
{
MercatorUi.Forms.Sig.SigGrids.UserDefined userDefinedGrid = (MercatorUi.Forms.Sig.SigGrids.UserDefined)sender;
MercatorUi._BaseClasses.BindableIntegerInput spinnerYear = new MercatorUi._BaseClasses.BindableIntegerInput();
spinnerYear.BackgroundStyle.Class = "DateTimeInputBackground";
spinnerYear.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
spinnerYear.Increment = 1;
spinnerYear.Size = new System.Drawing.Size(51, 20);
spinnerYear.Location = new System.Drawing.Point(userDefinedGrid.Header.Width - 15 - spinnerYear.Width, 10);
spinnerYear.Anchor = System.Windows.Forms.AnchorStyles.Right;
spinnerYear.MaxValue = 2099;
spinnerYear.MinValue = 2014;
spinnerYear.ShowUpDown = true;
spinnerYear.Value = DateTime.Now.Year;
spinnerYear.Name = "spinnerYear";
spinnerYear.ValueChanged += new EventHandler(spinnerYear_ValueChanged);
userDefinedGrid.Header.Controls.Add(spinnerYear);
}
// Wanneer we de waarde van de spinner veranderen forceren we een refresh van de grid
void spinnerYear_ValueChanged(object sender, EventArgs e)
{
MercatorUi._BaseClasses.BindableIntegerInput spinnerYear = (MercatorUi._BaseClasses.BindableIntegerInput)sender;
MercatorUi.Forms.Sig.SigGrids.UserDefined userDefinedGrid = (MercatorUi.Forms.Sig.SigGrids.UserDefined)spinnerYear.Parent.Parent;
userDefinedGrid.FillWithData();
}
// De waarde van de spinner doorgeven als extra SQL-parameter
void userDefinedGrid_BeforeFillWithData(object sender, MercatorUi.Forms.Sig.SigGrids.UserDefined.BeforeFillWithDataEventArgs e)
{
MercatorUi.Forms.Sig.SigGrids.UserDefined userDefinedGrid = (MercatorUi.Forms.Sig.SigGrids.UserDefined)sender;
MercatorUi._BaseClasses.BindableIntegerInput spinnerYear = (MercatorUi._BaseClasses.BindableIntegerInput)userDefinedGrid.Header.Controls["spinnerYear"];
e.ListSqlParams.Add(new MercatorSqlParam("@year", spinnerYear.Value));
}
}
}