Skip to main content

Identifying the source of the request for an LOV

The LOV can be enabled for an attribute of a view object, and the same can be used inside a query panel or in a parameter form.
How do you identify where the LOV is displayed currently, from a View Object?

Well, you can use the following groovy expression 'adf.isCriteriaRow' to achieve the same, which may rerun true if the request is from a model driven af:query component. This is useful if you need to switch between LOV definitions based on where its displayed at run time (e.g: one LOV in search panel and a different one in parameter form for the same attribute).

Please see the following topic in Dev Guide to learn more - How to Specify Multiple LOVs for an LOV-Enabled View Object Attribute

Comments

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…