我们经常会遇到这种情况,我们要把显示界面分成几块区域来分别显示不同的内容。比如在同一行左边显示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. Java异常封装(自己定义错误码和描述,附源码)

    真正工作了才发现,Java里面的异常在真正工作中使用还是十分普遍的.什么时候该抛出什么异常,这个是必须知道的. 当然真正工作里面主动抛出的异常都是经过分装过的,自己可以定义错误码和异常描述. 下面小宝 ...

  2. SQLite 表达式(http://www.w3cschool.cc/sqlite/sqlite-expressions.html)

    SQLite 表达式 表达式是一个或多个值.运算符和计算值的SQL函数的组合. SQL 表达式与公式类似,都写在查询语言中.您还可以使用特定的数据集来查询数据库. 语法 假设 SELECT 语句的基本 ...

  3. (一二八)使用POST上传文件

    简介 上传文件到服务器是一个比较常用的操作,最基本的方式是通过POST上传,文件以二进制形式,作为一个参数传递,但是这个POST的结构相当复杂,且必须完全符合HTTP标准. 文件上传的POST格式 该 ...

  4. Android开发 Jar mismatch! Fix your dependencies的问题

    有时候,当我们在导入Library的时候,会遇到Jar mismatch! Fix your dependencies这个错误.可能有如下原因: 1.两个项目的android-support-v4.j ...

  5. java虚拟机 jvm 方法区实战

    和java堆一样,方法区是一块所有线程共享的内存区域,用于保存系统的类信息,类的信息有哪些呢.字段.方法.常量池.方法区也有一块内存区域所以方法区的内存大小,决定了系统可以包含多少个类,如果系统类太多 ...

  6. UNIX环境高级编程——标准IO-实现查看所有用户

    #include <string.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h&g ...

  7. C++对象模型的那些事儿之一:对象模型(上)

    前言 很早以前就听人推荐了<深入理解C++对象模型>这本书,从年初买来到现在也只是偶尔翻了翻,总觉得晦涩难懂,放在实验室上吃灰吃了好久.近期由于找工作对C++的知识做了一个全面系统的学习, ...

  8. 11 OptionsMenu 菜单

    OptionsMenu 选项菜单(系统菜单 ) OptionsMenu:系统级别菜单 菜单的使用步骤: 1. res里的menu里添加布局 在布局里写菜单项 2. 在逻辑代码中使用OnCreateOp ...

  9. (一一四)使用FMDB操作SQLite数据库

    上节介绍了用系统自带的C语言库操作SQLite的方法,比较繁琐,使用FMDB会大幅度简化,并且是面向对象的,使用十分方便. 使用步骤如下: 先从github下载FMDB框架,然后把它导入工程. ①导入 ...

  10. antlr v4 使用指南连载1——简介

    antlr v4简介        antlr是一个强大语言解析工具,可以用于处理结构化文本.二进制文件.说白了,其实可以这么认为,antlr是一个更强大的正则表达式工具.它可以完成更多正则表达式无法 ...