Beim Ankreuzen wird das Ereignis onRowCheck generiert. In der Variablen objid steht die Zeilen-ID (CI-ID) und die Variable checkbox ist das Javascript-Checkbox-Element.
var RU=rimacon._userform, RUC=rimacon._userform._customer; if (!checkbox.checked) return; var cnt = RU.listHWM.getCheckedRowIDs().length; if (cnt>3) RU.listHWM.checkRow(objid,false); // mehr als 3 => unchecken
Im n:m-Zuordnungselement können eigene Spalten definiert werden. Der Inhalt kann vom jeweiligen Kontext abhängig sein.
In einer individuellen Maske für Rechner (Tabelle HWM) gibt es ein n:m-Element (Tabelle HWMPPD) für Produkte (Tabelle PPD). Jede Zeile für Produkt sollte die Anzahl der woanders zugeordneten Rechner enthalten, d.h. der aktueller Rechner zählt nicht mit.
HWMPPD | n:m-Tabelle |
HWMPPD.HWMPPD_HWM_ID | FK-Spalte auf Rechner |
HWMPPD.HWMPPD_PPD_ID | FK-Spalte auf Produkt |
Da die Anzahl vom aktuellen Rechner abhängig ist, kann eine dynamische Spalte nicht benutzt werden. Stattdessen nutzen wir eine benutzerdefinierte Spalte.
select distinct HWMPPD_PPD_ID, count(*) from HWMPPD where HWMPPD_HWM_ID<>$_ObjID group by HWMPPD_PPD_ID