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函数一样的高级排名 ...
随机推荐
- Java异常封装(自己定义错误码和描述,附源码)
真正工作了才发现,Java里面的异常在真正工作中使用还是十分普遍的.什么时候该抛出什么异常,这个是必须知道的. 当然真正工作里面主动抛出的异常都是经过分装过的,自己可以定义错误码和异常描述. 下面小宝 ...
- SQLite 表达式(http://www.w3cschool.cc/sqlite/sqlite-expressions.html)
SQLite 表达式 表达式是一个或多个值.运算符和计算值的SQL函数的组合. SQL 表达式与公式类似,都写在查询语言中.您还可以使用特定的数据集来查询数据库. 语法 假设 SELECT 语句的基本 ...
- (一二八)使用POST上传文件
简介 上传文件到服务器是一个比较常用的操作,最基本的方式是通过POST上传,文件以二进制形式,作为一个参数传递,但是这个POST的结构相当复杂,且必须完全符合HTTP标准. 文件上传的POST格式 该 ...
- Android开发 Jar mismatch! Fix your dependencies的问题
有时候,当我们在导入Library的时候,会遇到Jar mismatch! Fix your dependencies这个错误.可能有如下原因: 1.两个项目的android-support-v4.j ...
- java虚拟机 jvm 方法区实战
和java堆一样,方法区是一块所有线程共享的内存区域,用于保存系统的类信息,类的信息有哪些呢.字段.方法.常量池.方法区也有一块内存区域所以方法区的内存大小,决定了系统可以包含多少个类,如果系统类太多 ...
- UNIX环境高级编程——标准IO-实现查看所有用户
#include <string.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h&g ...
- C++对象模型的那些事儿之一:对象模型(上)
前言 很早以前就听人推荐了<深入理解C++对象模型>这本书,从年初买来到现在也只是偶尔翻了翻,总觉得晦涩难懂,放在实验室上吃灰吃了好久.近期由于找工作对C++的知识做了一个全面系统的学习, ...
- 11 OptionsMenu 菜单
OptionsMenu 选项菜单(系统菜单 ) OptionsMenu:系统级别菜单 菜单的使用步骤: 1. res里的menu里添加布局 在布局里写菜单项 2. 在逻辑代码中使用OnCreateOp ...
- (一一四)使用FMDB操作SQLite数据库
上节介绍了用系统自带的C语言库操作SQLite的方法,比较繁琐,使用FMDB会大幅度简化,并且是面向对象的,使用十分方便. 使用步骤如下: 先从github下载FMDB框架,然后把它导入工程. ①导入 ...
- antlr v4 使用指南连载1——简介
antlr v4简介 antlr是一个强大语言解析工具,可以用于处理结构化文本.二进制文件.说白了,其实可以这么认为,antlr是一个更强大的正则表达式工具.它可以完成更多正则表达式无法 ...