Transient Attribute In Tree Table Master-Detail To Manage Selected Row Doesn't Work In Detail Part

(Doc ID 1308882.1)

Last updated on MARCH 08, 2017

Applies to:

Oracle JDeveloper - Version: 11.1.1.3.0 and later   [Release: and later ]
Information in this document applies to any platform.

Symptoms

You are using a transient View Object attribute in a treeTable (Master-Detail) to manage a
multi-selection with an af:selectBooleanCheckbox.
You defined an attribute for the Master view "selectedDeptRow" and another for the Detail view
"selectedEmpRow", with the corresponding setters/getters in the <VO>ViewRowImpl.java

You created an ADF Faces page with the tree binding:
...
  <executables>
    <variableIterator id="variables"/>
    <iterator Binds="DeptView" RangeSize="25" DataControl="AppModuleDataControl"
              id="DeptViewIterator" Refresh="ifNeeded" CacheResults="false"/>
  </executables>
  <bindings>
    <tree IterBinding="DeptViewIterator" id="DeptView">
      <nodeDefinition DefName="model.views.DeptView" Name="DeptView0">
        <AttrNames>
          <Item Value="SelectedRowDept"/>
          <Item Value="Deptno"/>
          <Item Value="Dname"/>
        </AttrNames>
        <Accessors>
          <Item Value="EmpView"/>
        </Accessors>
      </nodeDefinition>
      <nodeDefinition DefName="model.views.EmpView" Name="DeptView1">
        <AttrNames>
          <Item Value="SelectedRowEmp"/>
          <Item Value="Empno"/>
          <Item Value="Ename"/>
          <Item Value="Sal"/>
        </AttrNames>
      </nodeDefinition>
    </tree>
  </bindings>
</pageDefinition>

When you click on the Master checkbox, the attribute value is correctly changed in the row
(If you add an af:outputText to view the attribute value, you see the value "true"/"false" changed
depending on the checkbox selection).
But when you click on the Detail checkbox the value stays unchanged ("false").

Debugging the application, you see that the setter of the transient attribute is correctly called
(and the value "true" set when you click the check box).
For some reasons, it seems that ADF resets the value to false (default).

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms