Forum Stats

  • 3,827,520 Users
  • 2,260,789 Discussions
  • 7,897,287 Comments

Discussions

LOV Dependent fields

848013
848013 Member Posts: 309 Bronze Badge

Hi

I am on Jdev 12.2.1.4. I am checking if there is any property for my requirement below instead of wring code in ValueChangeListener.

I have 3 fields on my page. Field 1 is LOV. Field 2 is LOV, which is dependent on Field 1. Dependency os working great. I have a Field 3, which gets populated from Field 2 when LOV is selected as part of the LOV configuration based on List Attribute and View Attribute.

Problem is, when i select change the Field 1, Field 2 is reset to Null but Field 3 still having the old value. How can i make Field 3 as null as well?

Step 1:

Step 2: Language changed from French to Polish. Reason changed to null but TempBody still have value

LOV Configuration for Reason field. Comments attribute is nothing but Reason Field

Field 1: AutoSubmit: true

Field 2 : AutoSubmit : True and Partial Trigger: Field1

Field 3: AutoSubmit : True and Partial Trigger: Field1 and Field 2

Thanks

Lakshmi

Answers

  • Timo Hahn
    Timo Hahn Senior Principal Technical Consultant - Oracle ACE Director Member, Moderator Posts: 38,462 Red Diamond

    I normally do this in the valueChangeListener.

    The only other thing you can try is to set up dependencies of the attributes in the VO used. However, such dependency only works if the attributes are part of the same VO. I'm not sure this will work in your use case, I never tried.


    Timo

  • Dimitar Dimitrov
    Dimitar Dimitrov Member Posts: 921 Bronze Trophy
    edited Apr 28, 2022 4:57PM

    I would implement a VO row impl class and modify the generated setComments() method there in order to clear the TempBody attribute whenever Comments attribute is being set to null:

    public void setComments(String value) {
      setAttributeInternal(COMMENTS, value);
      if (value==null) {
        this.setTempBody(null);
      }
    }
    

    Dimitar

    P.S. @Timo Hahn , valueChangeListener is not the correct place to do that. First, valueChangeListener is part of the view layer. Second, valueChangeListener fires during "Apply Request Values" JSF phase. If there is some data error during "Validation" phase, "Update Model" phase will not be executed. In this way valueChangeListener would clear the attribute while the LOV stayed intact.