Tree组件使用指南之四:点击不同的树节点显示不同的表单

187 篇文章 2 订阅
运行环境:JDeveloper 11.1.2.2.0 + Oracle Database 10g Express Edition 10.2.0.1。

点击不同的树节点,显示不同的表单,这也是一个很常见的场景。
比如点击Department节点,显示Department表单:

点击Employee节点,显示Employee表单:


这里我们只要综合一下实验《 点击树节点刷新表单 》和《 定制SelectionListener 》就可以实现了。

重点步骤说明:

1. 实现点击Employee节点,刷新Employee表单

2. 定制TreeSelectionListener
这里只在最后增加两行代码,其余和上一个实验一样:
Map viewScope = AdfFacesContext.getCurrentInstance().getViewScope();
viewScope.put("selectedTreeNode", nodeStuctureDefname);
这两行的作用是点击树节点时,把节点的结构定义名称保存到viewScope.selectedTreeNode变量中。

3. 修改页面,使用af:switch组件切换不同的表单
(1)af:switch根据facetName的值决定显示哪个facet,这里facetName="#{viewScope.selectedTreeNode}"。
(2)由于af:switch组件不支持PPR,因此在其外面“罩”了一个panelGroupLayout,并设置其PPR指向Tree组件id。
<f:facet name="second">
    <af:panelGroupLayout layout="scroll" id="pgl1" partialTriggers="t1" >
        <af:switcher id="s1" defaultFacet="model.DepartmentsView"
                     facetName="#{viewScope.selectedTreeNode}">
            <f:facet name="model.DepartmentsView">
               这里是Department Form
            </f:facet>
            <f:facet name="model.EmployeesView">
                这里是Employee Form
            </f:facet>
        </af:switcher>
    </af:panelGroupLayout>
</f:facet>

Project 下载:ADF_Tree_SelectionListener(2).7z

http://maping930883.blogspot.com/2012/06/adf134tree.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值