OAF_OAF控件Tree的实现(案列)

2014-06-02
BaoXinjian

一、摘要

实现OAF的Tree功能

二、案例

需求:实现OAF的Tree功能

1. 建立两个Page,树结构页面和明细页面

2. 在树页面中建立Tree,在Tree中建立Node和 Members

(1).
Node的重要属性

URI:OA.jsp?page=/bxj/oracle/apps/ak/test/webui/TreeDetailPG&employeeId={@EmployeeId}&OAPLRS=PLNH

Target
Frame: OACFr

(2).
Members的重要属性

URI:/bxj/oracle/apps/ak/test/webui/TreeRootPG.TreeRN

View
Link Instance: ???

View
Link Accessor: DirectReport、

(3).
&OAPLRS=PLNH: 代表了打开的Page无Window Title结构

3. 建立三个Function

(1).
Function1:设定为Tree Page

OA.jsp?page=/bxj/oracle/apps/ak/test/webui/TreeRootPG&OAPLRS=PLNH

(2). Function2:
设定为Detail Page

OA.jsp?page=/bxj/oracle/apps/ak/test/webui/TreeDetailPG

(3). Function3:
设定为虚拟,对应Tree&Detail Page

OAFrame.jsp?OAFunc=FWK_TBX_TREE_CENTERFRAME:FWK_TBX_TREE_STARTFRAME:FWK_TBX_TREE_CENTERFRAME

&OAHP=FWK_TOOLBOX_TUTORIAL_APP

&OASF=FWK_TOOLBOX_SAMPLE_BROWSE

&OAFRDIM=30p:15p

4. 设定两个CO对应至Page,及代码

5. 进行测试

三、案例实现

1. 设定Root Tree的Node属性

2. 设定Root Tree的Members属性

3. 建立Functions

4. 设定TreeRootCO,进行Tree节点的初始化


1 public void processRequest(OAPageContext pageContext, OAWebBean webBean){
2
3 super.processRequest(pageContext, webBean);
4
5 OAApplicationModule am = pageContext.getApplicationModule(webBean);
6
7 am.invokeMethod("initTreeQuery");
8
9 }

5. 设定TreeDetailCO,进行Detail页面的初始化


 1 public void processRequest(OAPageContext pageContext, OAWebBean webBean){
2
3 super.processRequest(pageContext, webBean);
4
5 OAPageLayoutBean pageLayout = pageContext.getPageLayoutBean();
6
7 pageLayout.prepareForRendering(pageContext);
8
9 UINode tabBar = pageLayout.getTabs();
10
11 int childCount = 0;
12
13 if( tabBar != null ) {
14
15 childCount = tabBar.getIndexedChildCount(pageContext.getRenderingContext());
16
17 }
18
19 for( int i=0; i<childCount; i++){
20
21 LinkBean child = (LinkBean) tabBar.getIndexedChild(pageContext.getRenderingContext(), i);
22
23 if( child != null ) {
24
25 child.setTargetFrame("_top");
26
27 }
28
29 }
30
31 OAApplicationModule am = pageContext.getApplicationModule(webBean);
32
33 String employeeId = pageContext.getParameter("employeeId");
34
35 Serializable[] parameters = { employeeId };
36
37 am.invokeMethod("initDetails", parameters);
38
39 }

四、案例测试

Thanks and Regards

时间: 2024-10-11 13:42:03

OAF_OAF控件Tree的实现(案列)的相关文章

实用的树形菜单控件tree

 jQuery plugin: Treeview 这个插件能够把无序列表转换成可展开与收缩的Tree. jQuery plugin: Treeview  jQuery  jstree jsTree是一个基于jQuery的Tree控件.支持XML,JSON,Html三种数据源.提供创建,重命名,移动,删除,拖\放节点操作.可以自己自定义创建,删除,嵌套,重命名,选择节点的规则.在这些操作上可以添加多种监听事件.  jstree  jQuery UI Widgets  FileTreePanel F

OAF_OAF控件系列 - Description Flexfiled描述性弹性域的实现(案例)

2014-06-17 BaoXinjian 一.摘要 OAF的弹性域的实现基本和Form的弹性域实现的大体思路是一致的,在注册Table和弹性域完全一样,之后通过控件去实现具体的弹性域显示 Form的弹性域初始化基本都在trigger when-new-form-instance中 OAF的弹性域初始化基本都在processRequest中,或者在processRequest调用AM中的初始化方法 1. 网上的一个例子 根据表FWK_TBX_EMPLOYEES生成实体对象EmployeeEO以后

OAF_OAF控件系列 - Key Flexfield键值弹性域的实现(案例)

2014-06-17 BaoXinjian 一.摘要 OAF的弹性域的实现基本和Form的弹性域实现的大体思路是一致的,在注册Table和弹性域完全一样,之后通过控件去实现具体的弹性域显示 Form的弹性域初始化基本都在trigger when-new-form-instance中 OAF的弹性域初始化基本都在processRequest中,或者在processRequest调用AM中的初始化方法 1. 网上的一个例子 新建一个EO,其中需要有相关的CCID字段.这里,如果在EO的Dynamic

C# C1TrueDBGrid控件如何加载图片列

表格中加载图片是很常见的功能,尤其是网页中,图片的展示更是随处可见.这个功能在bs中很容易就实现了: 前台代码: <asp:GridView ID="GridView1" runat="server"> <Columns> <asp:TemplateField> <ItemTemplate> <asp:Image ID="img1" ImageUrl='<%#Eval("img

GridView控件RowDataBound事件中获取列字段值的几种途径 !!!

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Attributes.Add("onclick", "javascript:alert('当前ID为:" +DataBinder.Eval(e.Row.DataItem,"CID"

easyUI的列表控件(datagrid)日期列不能正确显示的解决方法

        一.遇见的问题 EasyUI是一套比较轻巧易用的Jquery控件,在EasyUI中,我认为,他的表格 , 做的堪称完美.但是,美中不足的是,在使用过程中遇到一个问题,它的列表控件--datagrid,在显示日期列的时候,由于后台返回给页面的数据是Json格式的,其中的一个日期字段,在后台还是正常的"2012-11-10 12:18:00"这样的格式,到了前台页面就被转换成一个像 /Date(1242357713797+0800)/ 这样的格式.         二.解决

GridView控件RowDataBound事件中获取列字段途径

今天不知道怎么回事怎么也找不到gridview列中的控件,关键是其为编辑时隐藏域中的控件,取值就很成问题了,网上搜了很到,找到这个比较经典的东东了,可能大家都知道,但很少对比整理到一起,有多种方法可以找到控件,但是当控件很难找到时,又指定了其dataitem,可以直接用下4的方法快速取值.呵呵,个人觉得这些整理了的资料最有价值 要获取当前行的某个数据列,在实践中总结有如下几种方法:1. Cells[x].Txt.     从列单元格的文本值获取.这种方法简单高率,最为常用,但是功能单纯.此法存在

GridView控件RowDataBound事件中获取列字段值的几种途径

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Attributes.Add("onclick", "javascript:alert('当前ID为:" +DataBinder.Eval(e.Row.DataItem,"CID"

OAF_OAF控件AdvancedTable的实现(案例)

2014-06-02 BaoXinjian 一.摘要 实现控件AdvancedTable功能 二. 案例 需求:实现控件AdvancedTable功能 1.AdvancedTable下的插件 (1). 属性 i. Column ii. Column Group iii. Footer: Add new Row & Total iv. MutiSelection: 在VO中添加非数据库Item<DetailFlag>,将此Item对应值MutiSelection中 v. SingeSel