MJJ3
MJJ3

Reputation: 137

Can I auto-fill checkmarks triggerd by an after field?

I want to add an after field logic, I have 4 check boxes (check1, check2, check3 and check4). When I put a check mark on either check2, check3 and check4, I want to put a checkmark on check1 automatically. Is that possible?

Upvotes: 2

Views: 1422

Answers (2)

fourjs.reuben
fourjs.reuben

Reputation: 326

The weakness with AFTER FIELD is that it requires you to leave the field before it is triggered.

With Genero, when we added the ON CHANGE syntax many years ago, it was implemented such that if the widget was a GUI widget such as CHECKBOX, RADIOGROUP, COMBOBOX, the ON CHANGE would be triggered when the change was made, not when the focus left the field.

We also added the UNBUFFERED input mode so that your code didn't need all those DISPLAY's scattered throughout.

You didn't state the Informix 4gl version you were using, but if you were using Four Js Genero or IBM Informix Genero (and as you said checkbox then you might be) then the answer could be ...

INPUT ... ATTRIBUTES(UNBUFFERED)
...
    ON CHANGE check2
        LET rec.check1 = "Y"

    ON CHANGE check3
        LET rec.check1 = "Y"

    ON CHANGE check4
        LET rec.check1 = "Y"

Upvotes: 1

Jonathan Leffler
Jonathan Leffler

Reputation: 754860

AFTER FIELD check2
    LET rec.check1 = 'Y'
    DISPLAY rec.check1 TO check1

Rinse and repeat. I'm assuming the input variables are in a record rec with names check1 through check4. The key is the double operation of assignment and display; you need both AFAICR or it doesn't 'work'. I could use DISPLAY BY NAME rec.check1 here, but I don't usually use DISPLAY BY NAME; I would probably include the screen record in the DISPLAY too. Under reasonable assumptions, though, what I wrote will probably work.

Upvotes: 0

Related Questions