基于单个递归视图对象的详细信息表单不与 ADF 树同步

Detail form not sync with ADF tree based on a single recursive view object

我正在处理具有基于单个递归视图对象的树的表单,我已经创建了一个基于相同递归视图对象的树和详细信息表单。

问题是页面运行时,它仅将详细信息表单与最顶层的树节点同步。当我 select 树中的任何子节点时,详细信息表单不显示 selected 记录。

非常感谢任何帮助。

在树绑定(adf 绑定文件)中,您应该将 'Target Data Source' 属性设置为指向您的迭代器:

http://www.oracle.com/technetwork/developer-tools/adf/learnmore/50-synchromize-form-treeselection-169192.pdf

https://technology.amis.nl/2008/09/23/nice-little-feature-in-adf-11g-target-data-source-attribute-on-tree-binding-helps-synchronize-page-with-tree-node-selection/

我有相同的场景,并使用相同 VO 的辅助实例解决了它,并在此基础上构建了表单。我是如何向树的选择侦听器添加一些代码来进行同步的。 50号论文的转载也对我帮助很大

        Utilities.invokeEL("#{bindings.PlnFormTitle.treeModel.makeCurrent}", new Class[] { SelectionEvent.class },
                       new Object[] { selectionEvent });

    RowKeySet addedSet = selectionEvent.getAddedSet();
    Iterator it = addedSet.iterator();
    List<Key> keyList = (List<Key>) it.next();
    Key k = keyList.get(keyList.size() - 1);

    OperationBinding setCurrentRowWithKey = commonBindingOperation.getOperatioBinding("setCurrentRowWithKey");
    setCurrentRowWithKey.getParamsMap().put("rowKey", k.toStringFormat(true));

    setCurrentRowWithKey.execute();

这段代码是我用来同步的。