OAF中的TableLayout 高级表格
我们经常会遇到这种情况,我们要把显示界面分成几块区域来分别显示不同的内容。比如在同一行左边显示messageComponentLayout,右边显示table,这时,我们就要用到tableLayout功能,下面,我们就试着创建一个tableLayout。

学习目标
1、掌握Region Style:tableLayout,rowLayout,cellFormat的创建方法,属性设置
2、了解他们的意义,从属关系,并能灵活嵌套
一、创建AM
在test.oracle.apps.cux上点右键,选择 Create Application Module
输入Package:test.oracle.apps.cux.table.server
Name:TableAM。

下一步到完成。
二、创建VO PoHeaderVO
在test.oracle.apps.cux.table.server上点右键,选择 Create View Object。

下一步到 Step5 SQL Statement,
在Query Statement框中输入
- SELECT poh.po_header_id
- ,poh.segment1 po_number
- ,poh.vendor_id
- ,pv.vendor_name
- ,poh.vendor_site_id
- ,pvs.vendor_site_code
- ,poh.org_id
- FROM po_headers_all poh
- ,po_vendors pv
- ,po_vendor_sites_all pvs
- WHERE poh.vendor_id = pv.vendor_id
- AND poh.vendor_site_id = pvs.vendor_site_id
- AND nvl(pv.enabled_flag,'Y') = 'Y'
- AND poh.type_lookup_code = 'STANDARD'

下一步到Java页,确认View Object Class和View Row Class的勾都勾上。

点完成。
三、创建VO PoLineVO
在test.oracle.apps.cux.table.server上点右键,选择 Create View Object
输入 Package:test.oracle.apps.cux.table.server
Name:PoLineVO

下一步到Step5 SQL Statement,
在Query Statement框中输入
- SELECT pol.po_header_id
- ,pol.po_line_id
- ,pol.line_num
- ,pt.line_type
- ,pol.item_id
- ,msib.segment1 item_code
- ,pol.item_description
- ,pol.unit_meas_lookup_code
- ,pol.quantity
- ,pol.unit_price
- ,pol.closed_flag
- ,pol.cancel_flag
- ,pol.closed_date
- ,pol.cancel_date
- FROM po_lines_all pol
- ,mtl_system_items_b msib
- ,po_line_types pt
- WHERE pol.item_id = msib.inventory_item_id(+)
- AND pol.org_id = msib.organization_id(+)
- AND pol.line_type_id = pt.line_type_id
- AND nvl(msib.enabled_flag,'Y') = 'Y'
下一步到完成。
四、添加VO到AM下
双击TableAM,打开AM编辑界面
在Data Model界面,将VO添加到TableAM下面

五、新建页面
在test.oracle.apps.cux.table上点右键,选择 New->Web Tier->OA Components->Page
输入 Name:TablePG
Package:test.oracle.apps.cux.table.webui

确定。

修改Region的属性
ID:PageLayoutRN
AM Definition:test.oracle.apps.cux.table.server.TableAM
Window Title:Table Test
Title:Table Test:Skycloud
在PageLayout下添加Region,并更改属性
ID:PoHeaderHdr
Prompt:订单头

在PoHeaderHdr下面新建Region,并更改属性
ID:PoHeaderLayout
Region Style:messageComponentLayout
Width:100%

在messageComponentLayout下面,新建messageLayout,并更改属性
ID:PHMessageLayout

在PHMessageLayout下面,新建Region,并更改属性
ID:RowLayoutRN
Region Style:rowLayout
Width:100%
在rowLayout下面新建三个Region
更改Region1的属性
ID:PoHeaderNumCel
Region Style:cellFormat
Width:30%
更改Region2的属性
ID:PoVendorCel
Region Style:cellFormat
Width:30%
更改Region3的属性
ID:PoVendorSiteCel
Region Style:cellFormat
Width:40%

分别为每个cellFormat,创建一个ITEM,并更改其属性
|
|
ID |
Item Style |
Search Allowed |
View Instance |
View Attribute |
Prompt |
|
Item1 |
PoHeaderNum |
messageStyleText |
True |
PoHeaderVO1 |
PoNumber |
采购订单 |
|
Item2 |
PoVendor |
messageStyleText |
True |
PoHeaderVO1 |
VendorName |
供应商 |
|
Item3 |
PoVendorSite |
messageStyleText |
True |
PoHeaderVO1 |
VendorSiteCode |
地点 |
结构图如下:

运行,看一下结果。

下面添加查询条件
在PageLayoutRN中添加Region,并修改属性。
ID:QueryLayoutRN
RegionStyle:Header
Text:查询
在QueryLayoutRN上添加Region,并修改属性。
ID:QueryComponentLayout
Region Style:messageComponentLayout

在QueryComponentLayout上右键,选择messageLayout,修改属性。
ID:OrgMessageLayout

在OrgMessageLayout下新建Region,并修改其属性。
ID:OrgRowLayout
Region Style:rowLayout

在OrgRowLayout下新建Region,并修改其属性。
ID:OrgSearchCel
Region Style:cellFormat

在OrgSearchCel下新建Item,修改属性。
ID:OrgSearch
Region Style:messageTextInput
Data Type:VARCHAR2
Prompt:库存组织
Max Length:20
Length:20
Repquired:yes

在QueryComponentLayout上右键,选择messageLayout,修改属性。
ID:NumMessageLayout

在messageLayout上,新建一个Region,修改属性。
ID:NumRowLayout
Region Style:rowLayout

在rowLayout上,新建两个Region,修改属性
ID:PoHdrSearchCel
Region Style:cellFormat
ID:QueryButtonCel
Region Style:cellFormat

分别在cellFormat下创建一个ITEM
更改Item1的属性。
ID:PoNumSearch
Item Style:messageTextInput
Prompt:订单编号
Additional Text:请输入订单编号进行查询
Maximum Length:20
Length:20
Repquired:yes
更改Item2的属性。
ID:Query
Item Style:submitButton
Prompt:查找

运行看一下效果吧。

添加从块
在PageLayoutRN上点右键,新建Region,修改属性。
ID:PolineHdr
Region Style:header
Text:订单行
在PoLineHdr上点右键,新建Region,修改其属性。
ID:TableLayoutRN
Region Style:tableLayout
Width:100%

在tableLayout上,新建rowLayout,修改其属性。
ID:LineRowLayout
Region Style:rowLayout
Width:100%

在LineRowLayout上新建两个cellFormat
修改第一个cellFormat的属性。
ID:PoNumCel
Region Style:cellFormat
修改第二个cellFormat的属性。
ID:PoLineCel
Region Style:cellFormat

在PoNumCel中新建一个Item,修改属性。
ID:PoHeaderNum1
Item Style:messageStyleText
Search Allowed:True
View Instance:PoHeaderVO1
View Attribute:PoNumber
Prompt:订单编号

在PoLineCel上点右键,选择New->Region Using Wizard...
输入 Application Module:test.oracle.apps.cux.table.server.TableAM
Available View Usage:PoLineVO1。

下一步。
输入 Region ID:QueryTable
Region Style:table。

下一步,选择LineNum,LineType,Item_code,Quantity,UnitPrice,UnitMeasLookupCode。

修改表格属性,如图:

完成。
修改表格属性
View Link Instance:PoHeaderToLineLink
Width:100%
修改ITEM属性,Search Allowed为True
六、创建CO
在PayeLayoutRN上点击右键,选择Set New Controller...,创建控制文件。

输入 Package Name:test.oracle.apps.cux.table.webui
Class Name:TableCO。

在processFormRequest函数中加入如下代码:
- ,PoNumber);
- ,OrgId);
- ,headerId);
- lineVO.executeQuery();
- }
- }
好了,可以看看最终的结果了。

OAF中的TableLayout 高级表格的更多相关文章
- 使用Vue.js制作仿Metronic高级表格(一)静态设计
Metronic高级表格是Metonic框架中自行实现的表格,其底层是Datatables.本教程将主要使用Vue实现交互部分,使用Bootstrap做样式库.jQuery做部分用户交互(弹窗). 使 ...
- OAF中的面包屑(breadcrumbs)始无法显示(转)
原文地址:OAF中的面包屑(breadcrumbs)始无法显示 OAF中面包屑是一种重要的导航工具.可以提示用户抵达当前页面的路径,也可以方便的切换到之前的节点. 开始做面包屑开发的时候发现面包屑总是 ...
- JQuery中操作表单和表格
一:表单应用 1.HTML中的表单大致由三部分组成 (1).表单便签:包含处理表单数据所用的服务端程序URL,以及数据提交到服务器的方法. (2).表单域:包含文本框.密码框.隐藏域.多行文本框.复选 ...
- EBS OAF中如何在多行表中实现附件功能
EBS OAF中如何在多行表中实现附件功能 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 在OAF中使用附件功能之前,要先明白Entity( ...
- HTML中关于图像和表格,链接等的知识
下面是我分享的html中关于图像和表格,链接等知识: ①<img/>图像标签 <img/>标签中的一些常见属性:1,src是图像的路径属性,是img标签中必不可少的属性. 2, ...
- 在MySQL中实现Rank高级排名函数【转】
MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名 ...
- AngularJS中自定义有关一个表格的Directive
本篇体验在AngularJS中自定义一个有关表格的Directive.表格的需求包括: ● 表格结构 <table> <thead> <tr> ...
- 详解Vue中watch的高级用法
我们通过实例代码给大家分享了Vue中watch的高级用法,对此知识点有需要的朋友可以跟着学习下. 假设有如下代码: <div> <p>FullName: {{fullName} ...
- 在MySQL中实现Rank高级排名函数
MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名 ...
随机推荐
- Appium webdriver的capabilities配置
Capabilities是由客户端发送给Appium服务器端的用来告诉服务器去启动哪种我们想要的会话的一套键值对集合.当中也有一些键值对是用来在自动化的过程中修改服务器端的行为方式. 必填的项目: d ...
- mysql 远程连接配置
近期买了阿里云服务器,服务器 安装了mysql,需要远程操作mysql数据库,但是远程不配置的话,连接不上去的.需要配置 .具体的配置如下: 先看看my.cnf是否绑定了本机,如果绑定了地址就解绑吧. ...
- How to generate the complex data regularly to Ministry of Transport of P.R.C by DB Query Analyzer
How to generate the complex data regularly to Ministry of Transport of P.R.C by DB Query Analyzer 1 ...
- 带你深入理解STL之迭代器和Traits技法
在开始讲迭代器之前,先列举几个例子,由浅入深的来理解一下为什么要设计迭代器. //对于int类的求和函数 int sum(int *a , int n) { int sum = 0 ; for (in ...
- Java中Excel导入功能实现、excel导入公共方法_POI -
这是一个思路希望能帮助到大家:如果大家有更好的解决方法希望分享出来 公司导入是这样做的 每个到导入的地方 @Override public List<DataImportMessage> ...
- Java Socket输入流如何检测到EOF
对于InputStream的 read(b, off, len) 方法 public int read(byte[] b, int off, int len) throws IOException,J ...
- Sublime Text 3 使用MarkDown编写带预览的文本
看到别人使用一个叫Markdown的标记语言来完成编码,心里就有点小激动,毕竟简短的几个符号,就可以写出如此精美的界面,实在是让人感到心旷神怡啊.于是我就在网上搜索了一些相关项的设置,于是便有了下面的 ...
- SDL2源代码分析3:渲染器(SDL_Renderer)
===================================================== SDL源代码分析系列文章列表: SDL2源代码分析1:初始化(SDL_Init()) SDL ...
- Win7/Win8/Win10下安装Ubuntu14.04双系统 以及常见问题
整理自网络. 1. 制作镜像 将ubantu镜像刻录到优盘(我使用UltraISO刻录,镜像下载地址:链接: http://pan.baidu.com/s/1bndbcGv 密码: qsmb) 2. ...
- STL:STL各种容器的使用时机详解
C++标准程序库提供了各具特长的不同容器.现在的问题是:该如何选择最佳的容器类别?下表给出了概述. 但是其中有些描述可能不一定实际.例如:如果你需呀处理的元素数量很少,可以虎落复杂度,因为线性算法通常 ...