FORMS 4.5, WHEN_LIST_CHANGED firing sequence

From: Sean McMurray <smcmurr_at_xmission.com>
Date: Tue, 04 May 1999 13:11:06 -0700
Message-ID: <372F545A.4E82C4E9_at_xmission.com>


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 - 22:11:06 CEST

Original text of this message