Voorgeselecteerde parent ID in detailscherm

In Thinkwise kunnen aan elkaar gekoppelde tabellen eenvoudig met elkaar worden verbonden in een enkel scherm. Op die manier zie je direct het hoofdrecord en de daaraan gekoppelde subrecords. Wanneer je in dat scherm een nieuw subrecord wilt toevoegen (of een bestaande wilt wijzigen) wil je natuurlijk wel dat deze automatisch gekoppeld is aan datzelfde hoofdrecord.

Ik ben me ervan bewust dat dit nogal cryptisch klinkt. Vandaar dat we dit gaan toelichten aan de hand van een concreet voorbeeld. We gaan daarbij uit van een systeem met daarin personen en daaraan gekoppeld hun favoriete kunstwerken. Hiervoor geldt de volgende eenvoudige dataset:

persoon kunstwerk
Marcel La grande odalisque
Marcel Nike van Samothrake
Kees Slapende Hermaphrodite

Dit eenvoudige voorbeeld heeft 2 tabellen: de tabel 'persoon' (met daarin 2 personen) en de tabel 'kunstwerk' (met daarin 3 kunstwerken). De tabel 'kunstwerk' heeft een kolom persoon_id met een verwijzing naar de primaire sleutel van de tabel 'persoon'.

Stel dat ik het scherm heb geopend met de persoon Kees. Ik heb daarin ingesteld dat ik in een aparte tab de kunstwerken zie van die persoon. Zonder speciale instellingen kan ik daar een nieuw kunstwerk aan Kees koppelen, maar in dat scherm kan ik ook de persoon wijzigen. Ik kan daar dus in het detailscherm van Kees een nieuw kunstwerk koppelen aan Marcel. In de meeste gevallen is dat een ongewenste situatie. Hoe lossen we dat nu op in Thinkwise (dit is geschreven voor versie 2019.2)?

  • Ga naar User Interface > Subjects
  • Selecteer de tabel 'kunstwerk'
  • Maak hiervan een variant aan
  • Maak in de variant de kolom persoon_id read only
  • Ga nu naar de tabel 'persoon'
  • Klik op het tabblad Links
  • Koppel de tabel aan de variant

Dit is voldoende om nu het veld persoon_id bij het toevoegen van een nieuw kunstwerk voor Kees vooringevuld en readonly te maken.

Over mij

Mijn naam is Marcel van Langen. Ik ben werkzaam als freelancer. Een harde en eerlijke werker, met een passie voor doelgerichte oplossingen. Ik voer al jaren mooie klussen uit voor geweldige klanten. Mijn technische specialisaties zijn het Thinkwise platform, SQL Server en ColdFusion development.

Lees verder...
Diensten