我们经常会遇到这种情况,我们要把显示界面分成几块区域来分别显示不同的内容。比如在同一行左边显示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框中输入

[c-sharp] view plaincopy
  1. SELECT poh.po_header_id
  2. ,poh.segment1 po_number
  3. ,poh.vendor_id
  4. ,pv.vendor_name
  5. ,poh.vendor_site_id
  6. ,pvs.vendor_site_code
  7. ,poh.org_id
  8. FROM po_headers_all      poh
  9. ,po_vendors          pv
  10. ,po_vendor_sites_all pvs
  11. WHERE poh.vendor_id = pv.vendor_id
  12. AND poh.vendor_site_id = pvs.vendor_site_id
  13. AND nvl(pv.enabled_flag,'Y') = 'Y'
  14. 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框中输入

[c-sharp] view plaincopy
  1. SELECT pol.po_header_id
  2. ,pol.po_line_id
  3. ,pol.line_num
  4. ,pt.line_type
  5. ,pol.item_id
  6. ,msib.segment1 item_code
  7. ,pol.item_description
  8. ,pol.unit_meas_lookup_code
  9. ,pol.quantity
  10. ,pol.unit_price
  11. ,pol.closed_flag
  12. ,pol.cancel_flag
  13. ,pol.closed_date
  14. ,pol.cancel_date
  15. FROM po_lines_all       pol
  16. ,mtl_system_items_b msib
  17. ,po_line_types      pt
  18. WHERE pol.item_id = msib.inventory_item_id(+)
  19. AND pol.org_id = msib.organization_id(+)
  20. AND pol.line_type_id = pt.line_type_id
  21. 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函数中加入如下代码:

  1. ,PoNumber);
  2. ,OrgId);
  3. ,headerId);
  4. lineVO.executeQuery();
  5. }
  6. }

好了,可以看看最终的结果了。

OAF中的TableLayout 高级表格的更多相关文章

  1. 使用Vue.js制作仿Metronic高级表格(一)静态设计

    Metronic高级表格是Metonic框架中自行实现的表格,其底层是Datatables.本教程将主要使用Vue实现交互部分,使用Bootstrap做样式库.jQuery做部分用户交互(弹窗). 使 ...

  2. OAF中的面包屑(breadcrumbs)始无法显示(转)

    原文地址:OAF中的面包屑(breadcrumbs)始无法显示 OAF中面包屑是一种重要的导航工具.可以提示用户抵达当前页面的路径,也可以方便的切换到之前的节点. 开始做面包屑开发的时候发现面包屑总是 ...

  3. JQuery中操作表单和表格

    一:表单应用 1.HTML中的表单大致由三部分组成 (1).表单便签:包含处理表单数据所用的服务端程序URL,以及数据提交到服务器的方法. (2).表单域:包含文本框.密码框.隐藏域.多行文本框.复选 ...

  4. EBS OAF中如何在多行表中实现附件功能

    EBS OAF中如何在多行表中实现附件功能 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 在OAF中使用附件功能之前,要先明白Entity( ...

  5. HTML中关于图像和表格,链接等的知识

    下面是我分享的html中关于图像和表格,链接等知识: ①<img/>图像标签 <img/>标签中的一些常见属性:1,src是图像的路径属性,是img标签中必不可少的属性. 2, ...

  6. 在MySQL中实现Rank高级排名函数【转】

    MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名 ...

  7. AngularJS中自定义有关一个表格的Directive

    本篇体验在AngularJS中自定义一个有关表格的Directive.表格的需求包括: ● 表格结构 <table>    <thead>        <tr>  ...

  8. 详解Vue中watch的高级用法

    我们通过实例代码给大家分享了Vue中watch的高级用法,对此知识点有需要的朋友可以跟着学习下. 假设有如下代码: <div> <p>FullName: {{fullName} ...

  9. 在MySQL中实现Rank高级排名函数

    MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名.尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名 ...

随机推荐

  1. Appium webdriver的capabilities配置

    Capabilities是由客户端发送给Appium服务器端的用来告诉服务器去启动哪种我们想要的会话的一套键值对集合.当中也有一些键值对是用来在自动化的过程中修改服务器端的行为方式. 必填的项目: d ...

  2. mysql 远程连接配置

    近期买了阿里云服务器,服务器 安装了mysql,需要远程操作mysql数据库,但是远程不配置的话,连接不上去的.需要配置 .具体的配置如下: 先看看my.cnf是否绑定了本机,如果绑定了地址就解绑吧. ...

  3. 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 ...

  4. 带你深入理解STL之迭代器和Traits技法

    在开始讲迭代器之前,先列举几个例子,由浅入深的来理解一下为什么要设计迭代器. //对于int类的求和函数 int sum(int *a , int n) { int sum = 0 ; for (in ...

  5. Java中Excel导入功能实现、excel导入公共方法_POI -

    这是一个思路希望能帮助到大家:如果大家有更好的解决方法希望分享出来 公司导入是这样做的 每个到导入的地方 @Override public List<DataImportMessage> ...

  6. Java Socket输入流如何检测到EOF

    对于InputStream的 read(b, off, len) 方法 public int read(byte[] b, int off, int len) throws IOException,J ...

  7. Sublime Text 3 使用MarkDown编写带预览的文本

    看到别人使用一个叫Markdown的标记语言来完成编码,心里就有点小激动,毕竟简短的几个符号,就可以写出如此精美的界面,实在是让人感到心旷神怡啊.于是我就在网上搜索了一些相关项的设置,于是便有了下面的 ...

  8. SDL2源代码分析3:渲染器(SDL_Renderer)

    ===================================================== SDL源代码分析系列文章列表: SDL2源代码分析1:初始化(SDL_Init()) SDL ...

  9. Win7/Win8/Win10下安装Ubuntu14.04双系统 以及常见问题

    整理自网络. 1. 制作镜像 将ubantu镜像刻录到优盘(我使用UltraISO刻录,镜像下载地址:链接: http://pan.baidu.com/s/1bndbcGv 密码: qsmb) 2. ...

  10. STL:STL各种容器的使用时机详解

    C++标准程序库提供了各具特长的不同容器.现在的问题是:该如何选择最佳的容器类别?下表给出了概述. 但是其中有些描述可能不一定实际.例如:如果你需呀处理的元素数量很少,可以虎落复杂度,因为线性算法通常 ...