在Region之间传递Event
九月 8, 2009 in Oracle 融合中间件
概述
本文主要介绍如何在ADF应用中实现不同Region之间的event的传递。
下面以RegionA和RegionB为例,详细说明如何实现在Region之间传递event。
需求:在RegionA中点击导航栏中的任意一按钮时,在RegionB中触发相同事件。
实现
1、新建ADF应用,并根据需要创建基于Employees和Departments两个表的BC(EO/VO/AM)。
2、在ViewController项目中创建两个Bounded-Task-Flow with Fragments,这里名字分别为RegionA-task-flow和RegionB-task-flow。
3、从“Component Pallete”中分别拖“View”到刚创建成功的两个Task-Flow中,名字分别为RegionA和RegionB,双击根据向导生成两个.jsff的fragments,生成后的名字应分别为RegionA.jsff和RegionB.jsff。
4、打开RegionA.jsff,从“Data Controls”中拖动EmployeesView1到该fragment,根据提示生成form,并带有导航按钮。
5、同样的,打开RegionB.jsff,从“Data Controls”中拖动DepartmentsView1到该fragment,根据提示生成带有导航按钮的form。
6、新建.jspx页面,这里命名为main.jspx,使用“Panel Splitter”Layout进行布局,将页面分割成为左右两部分。分别将RegionA-task-flow和RegionB-task-flow拖到两部分中,生成后的页面如图所示:
7、双击打开RegionA.jsff的PageDef文件,为其导航按钮添加event,查看“Structure”面板,以First按钮为例:在First按钮上点击右键,在“Insert inside First”中选择events,继续在events中点击右键,在“insert inside events”中选择event,命名为FirstEvent,为其他按钮添加同样的操作。进而对RegionB.jsff的PageDef中的导航按钮也添加同样的操作,完成后保存。
8、打开main.jspx页面,在“Structure”面板中的PageDef上点击右键,选择“Edit Event Map”,如图设置event的mapping关系,将所有的event都进行设置。
9、保存以上设置,运行main.jspx页面。
最终运行结果:
详细代码请查看:howtopasseventbetweenregions.rar
相关文章:
Eleven.Xu said on 九月 9, 2009
呵呵,多谢LS各位支持
转帖无所谓的,本来就是本着分享的精神才写博客的,也欢迎大家转帖,增加OracleSeeker的影响力
不过不标明出处确实有些不妥,还是希望想转的朋友能保留全文并标明出处:)
kaka said on 九月 9, 2009
恩,转贴需注明出处,这也是对作者的尊重!
aronezhang said on 九月 9, 2009
楼上说的对,总有人不够厚道,不尊重别人的劳动成果。
顶11.Xu said on 九月 8, 2009
LZ,不如也发一份到IT++吧,我看到某些人顺手牵羊转了文章,着实气不过啊!哈哈哈哈!都替LZ着急啦!
Eleven.Xu said on 九月 8, 2009
呵呵,最近晚上刚好有时间,就正把之前总结的一些东西整理下都发过来,希望大家多多支持和交流:)
aronezhang said on 九月 8, 2009
Eleven.Xu最近量产了,看来Oracle ADF爱好者有福了