您好我想添加一个后场逻辑,我有4个复选框(check1,check2,check3和check4)。当我在check2,check3和check4上勾选复选标记时,我想自动在check1上加上复选标记。任何的想法。谢谢。
答案 0 :(得分:1)
AFTER FIELD的弱点是它要求你在触发之前离开该场。
使用Genero,当我们多年前添加ON CHANGE语法时,它实现了如果小部件是一个GUI小部件,如CHECKBOX,RADIOGROUP,COMBOBOX,那么在更改时将触发ON CHANGE,而不是当焦点离开场地时。
我们还添加了UNBUFFERED输入模式,这样您的代码就不需要分散所有这些DISPLAY。
您没有说明您正在使用的Informix 4gl版本,但是如果您使用的是Four Js Genero或IBM Informix Genero(正如您所说的复选框那么您可能会),那么答案可能就是......
INPUT ... ATTRIBUTES(UNBUFFERED)
...
ON CHANGE check2
LET rec.check1 = "Y"
ON CHANGE check3
LET rec.check1 = "Y"
ON CHANGE check4
LET rec.check1 = "Y"
答案 1 :(得分:0)
AFTER FIELD check2
LET rec.check1 = 'Y'
DISPLAY rec.check1 TO check1
冲洗并重复。我假设输入变量位于记录rec
中,名称为check1
到check4
。关键是分配和显示的双重操作;你既需要AFAICR,也不需要“工作”。我可以在这里使用DISPLAY BY NAME rec.check1
,但我通常不会使用DISPLAY BY NAME
;我可能也会在DISPLAY
中包含屏幕记录。但是,在合理的假设下,我写的内容可能会奏效。