Skip to main content

Globally setting the change event policy for all data bindings

The release of ADF has added a new configuration entry in adf-config.xml file to globally set the default change event policy for the all iterators in the application. Of course, developers can override the default setting at each binding level.

 <adf-config xmlns=""   
  <adf-adfm-config xmlns="">  
   <defaults changeEventPolicy="ppr" useBindVarsForViewCriteriaLiterals="true"/>  


giovanni said…
Can you explain with an exapmle?
Jobinesh said…
Please see Fusion Dev Gide.

Copying relevant content for your ref...

When you create a form, setting up PPR to work for all the components in the form
can be time consuming and error prone. To alleviate this, you can set the
changeEventPolicy attribute to ppr on value bindings. Doing so means that
anytime the associated component’s value changes as a result of backend business
logic, the component will be automatically rerendered. You can also set an iterator
binding’s changeEventPolicy to ppr. When you do this, any action or value
binding associated with the iterator will act as though its changeEventPolicy is set
to PPR. This allows entire forms to use PPR without your having to configure each
component separately.
Ash Manukyan said…
This post saved my life. Jesus. months trying to understand that error. IOU bro!

Popular posts from this blog

How to set Bind Variable Values at runtime ?

In this post I'm sharing a couple of approaches for programmatically setting bind variables values at run time. This post is an attempt to explain 'When to use what ?'[ In case if you are familiar with 'Bind Variables' in ADF BC, please refer Section 5.10, Working with Bind Variables in Fusion Developer's Guide ]

1. Set the Bind Variable value using RowSet::setNamedWhereClauseParam(...)

You can use use the setNamedWhereClauseParam(...) method on the ViewObject interface (which extends oracle.jbo.RowSet) to set the value for bind variables. Please note this sets the value on default RowSet. In other words, this doesn't have any effect on the secondary RowSets that you/system generates.
ViewObject vo = am.findViewObject("EmployeesView1"); vo.setNamedWhereClauseParam("bindVarDeptId", new Number(10)); vo.executeQuery();
2. Set the Bind Variable value using ViewObject's VariableValueManager::setVariableValue(...)

VariableValueManager Ma…