1

嗨,我想添加一个后字段逻辑,我有 4 个复选框(check1、check2、check3 和 check4)。当我在 check2、check3 和 check4 上打上复选标记时,我想自动在 check1 上打上复选标记。任何想法。谢谢你。

4

2 回答 2

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"
于 2013-02-19T20:41:09.767 回答
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。不过,在合理的假设下,我写的内容可能会奏效。

于 2013-02-14T18:46:18.307 回答