Re: FORMS 4.5, WHEN_LIST_CHANGED firing sequence

From: Steve Cosner <>
Date: 4 May 1999 21:42:55 GMT
Message-ID: <7gnpkv$2ib$>

From what I understand of the when-list-changed trigger (as explained in the on-line help), it fires when the operator selects an entry from the list. But you are repopulating the underlying record group, not changing the selection. Since you are doing this from the DDL1 field, just repopulating the record groups for DDL2 and 3 doesn't change the value of the items. (How would the form know which of the new values to select?)

In article <>, Sean McMurray <> wrote:
>Sean McMurray wrote:
>> I have a control block (CTLBLK) with three drop-down list controls
>> (DDL1, DDL2, DDL3).
>> Each list is populated from a query-based record group.
>> The query for DDL1's record group is a constant.
>> The query for DDL2's record group depends on the value in DDL1.
>> The query for DDL3's record group depends on the values in DDL1 and
>> DDL2.
>> When a change is made in DDL1, DDL2 is re-populated.
>> When a change is made in DDL1 or DDL2, DDL3 is re-populated.
>> With a change to any of the three lists, I edit the DEFAULT_WHERE
>> property for another block (OTHERBLK) based on the values of the three
>> lists.
>> Now here's the problem.
>> When I select a value in DDL1, I repopulate DDL2 and DDL3, then
>> set_block_property('OTHERLK', DEFAULT_WHERE, 'col1=''' || :CTLBLK.DDL1
>> || ''' and col2=''' || :CTLBLK.DDL2 || ''' and col3=''' || :CTLBLK.DDL3
>> || ''' ');
>> This statement is returning the old values (before the lists were
>> repopulated) for DDL2 and DDL3.
>> Why, and how do I fix it?
>It's acting like the WHEN-LIST-CHANGED trigger fires before the list is
>actually changed. This can't be right, though, because it is updating the
>dependent lists just fine. The only thing it isn't getting right is the
>WHERE property for OTHERBLK.
Received on Tue May 04 1999 - 23:42:55 CEST

Original text of this message