1. In een vrije tabel
Laten we eens kijken naar een vrije tabel met de naam "Test". We willen een koppeling met de klantenfiches toevoegen, d.w.z. de mogelijkheid om een gevalideerde klant in te voeren en een kolom te krijgen die de bijbehorende naam weergeeft.
Deze vrije tabel bevat de ID_CLI kolom.
alter table FREE_TABLE_TEST add id_cli char(10) not null default ''
Met de customizer van de vrije tabel moet u eerst deze StringUpdater instellen om de SQL-query aan te passen:
- lijn 1
- *
- *,id_cli as UserDefinedButtonColumnShowSigCli,cli.c_nom as nom_client
- lijn 2
- from FREE_TABLE_TEST
- from FREE_TABLE_TEST left join CLI on id_cli=c_id
Vervolgens moet je deze kolomregel specificeren op de kolom Name = UserDefinedButtonColumnShowSigCli :
- ButtonSigLink
- SigIdColumn = id_cli
- SigNameColumn = nom_client
Deze eigenschappen vertellen Mercator welke kolommen respectievelijk de klant-ID en -naam bevatten. Als deze kolommen gedefinieerd zijn en bestaan, zal Mercator alle nodige mechanismen in werking stellen, inclusief het automatiseren van de pictogramverandering in de kolom "knop".
2. In een grid van een signaletiek
Stel dat we een "Artikels"-signaletiek hebben dat wijzigingen toestaat, waarin we informatie willen kunnen opslaan die is gekoppeld aan klanten volgens een 1-n-relatie.
De SQL-tabel achter dit raster is gemaakt met deze query:
CREATE TABLE [dbo].[STOCKEXT](
[ID_STOCK] [char](10) NOT NULL default '',
[ID] [char](10) NOT NULL default '',
[ORDRE] [int] NOT NULL default 0,
[ID_CLI] [char](10) NOT NULL default '',
[INFO] [varchar](50) NOT NULL default '',
CONSTRAINT [PK_STOCKEXT] PRIMARY KEY CLUSTERED
(
[ID_STOCK] ASC,
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
ALTER TABLE [dbo].[STOCKEXT] WITH CHECK ADD CONSTRAINT [FK_STOCKEXT_STOCK] FOREIGN KEY([ID_STOCK]) REFERENCES [dbo].[STOCK] ([S_ID]) ON UPDATE CASCADE ON DELETE CASCADE
ALTER TABLE [dbo].[STOCKEXT] WITH CHECK ADD CONSTRAINT [FK_STOCKEXT_CLI] FOREIGN KEY([ID_CLI]) REFERENCES [dbo].[CLI] ([C_ID]) ON UPDATE CASCADE ON DELETE CASCADE
CREATE INDEX ORDRE ON [dbo].[STOCKEXT] (ORDRE)
Het raster is gekoppeld aan deze query:
select id_stock,id,ordre,[id_cli],id_cli as UserDefinedButtonColumnShowSigCli,cli.c_nom as nom_client,[info]
from STOCKEXT inner join CLI on id_cli=c_id where id_stock=@s_id
order by ordre
Specificeer vervolgens eenvoudig deze kolomregel op de kolom Name = UserDefinedButtonColumnShowSigCli :
- ButtonSigLink
- SigIdColumn = id_cli
- SigNameColumn = nom_client
zodat Mercator alle mechanismen kan toepassen die nodig zijn om het te koppelen aan de signaletiek van de klant.
Opmerking: de tweede foreign key voorkomt dat een lege regel wordt opgeslagen. Dit gedrag is wenselijk.