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函数一样的高级排名 ...
随机推荐
- Velocity 语法及其在springMVC中的配置
强烈推荐具体的整合博客:http://blog.csdn.net/duqi_2009/article/details/47752169 整合文章中有几处问题: xml中配置的vm视图解析器,应该按照本 ...
- MyEclipse如何全局搜索
1全局搜索的启动方式 CTRL+H 2全局搜索自己选择搜索方式 自己选择要搜索的东西,简单吧,里面还有很多好玩的东西需要你去发现,加油! [正在看本人博客的这位童鞋,我看你气度不凡,谈吐间隐隐有王者之 ...
- iOS开发之UIWebView的常见一些用法
虽然现在Xcode8已经开始使用WKWebView这个框架进行网页展示,但是UIWebView也有一些常用的方法需要知道,下面就简单展示一下,仅供大家参考 相关知识:1.设置背景透明:2.加载本地HT ...
- 使用std::vector优化点云动画显示一例
1. 准备 使用std::vector应该知道几点: (1)内存连续的容器,有点像数组 (2)与std::list相比,插入和删除元素比较慢- 因为数据迁移 (3)添加元素可能会引发内存分配和数据迁移 ...
- SSH网上商城---用户激活
在前面的博客中,小编主要结合SSH网上商城这个项目,简单的介绍了如何实现邮件发送的这个功能,邮件发送了,接下来就是激活了,为什么呢?现在大多网站都要通过对账号进行激活,然后才能注册成功,这是防止恶性注 ...
- GDB调试工具入门
从windows转到linux下已经有一段时间了,每次刷算法题碰到问题需要调试的时候,就分分钟想关机,切换到windows上调试.于是,花了一点时间来搜索一下linux下常见的调试工具,这不搜不知道, ...
- 编译GDAL支持ArcObjects
编译GDAL支持ArcObjects. 首先修改nmake.opt文件中对应的ArcObjects,修改后的如下所示: #uncomment to use ArcObjects ARCOBJECTS_ ...
- Linux内核分配内存的方式
page = alloc_pages(GFP_KERNEL, get_order(1234));分配失败返回NULLGFP_KERNEL ---> 分配标志,当没有足够内存分配时,睡眠阻塞,直 ...
- Android初级教程短信防火墙
如果你有女神,而且有情敌的话,你看到这篇文章会有一种窃喜的感觉. 需求:对情敌的号码进行拦截,让女神手机永远收不到它的号码. 首先定义一个广播接收者类: package com.example.sms ...
- awk:快速入门(简单实用19例+鸟哥书内容)
awk 用法:awk ' pattern {action} ' 变量名 含义 ARGC 命令行变元个数 ARGV 命令行变元数组 FILENAME 当前输入文件名 FNR 当前文件中的记录号 ...