在OAF中,存在标准的查询面板,但是标准的查询只能实现基础、简单的查询,所以在真正的项目当中,一般情况下都是使用自己开发的客户化查询,开发客户化查询的一般步骤如下:
1. 建立页面PG,修改Region
ID | PageLayoutRN |
Region Style | PageLayout |
AM Definition | RootAM |
Window Title | xxx |
Title | xxx |
2. 在PageLayoutRN下建立Region,属性如下:
ID | MessageComponentLayoutRN |
Region Style | MessageComponentLayout |
Width | 100% |
Rows | 2 |
Columns | 6 |
3. 在MessageComponentLayoutRN下新建搜索项(lov形式)
ID | SearchProject |
Item Style | MessageLovInput |
External LOV | XXX |
Prompt | XXX |
这里的External LOV是来源于lov的region。
4.建立LOV的页面,建立一个listOfValues的region
Region Style | ListOfValues |
Scope | Public |
AM Definition | LovAM |
5. 基于vo,建立resultTable,ProjectId项的属性
ID | ProjectId |
Item Style | Formvalue |
6. 在建立的lov组件下建立map映射
ID | ProjectNameMap |
LOV Region Item | ProjectName |
Return Item | SearchProject |
Criteria Item | SerachProject |
7.下拉框形式组件
ID | SearchProjectPhase |
Item Style | MessageChoice |
Picklist View Definition | cux.oracle.apps.pa.lov.server.ProjectPhaseVO |
Picklist Display Attribute | ProjectStatusName |
Picklist Value Attribute | ProjectStatusName |
Prmpt |
|
8. 建立ResultTable
Width | 100% |
9. 在messageComponentLayout Components下添加footer,在region下添加query按钮
ID | Query |
Item Style | SubmitButton |
Prompt | 搜索(&S) |
10.继续添加SpaceBean
ID | SpacerBean |
Item Style | Spacer |
Width | 5 |
11. 继续添加cancel按钮
ID | Cancel |
Item Style | SubmitButton |
Disable Client Side Validation | True |
Prompt | 清除(&C) |
上面的步骤是建立好一个搜索面板,下面编写搜索逻辑代码。
首先在co中捕捉点击搜索按钮的事件:
搜索逻辑代码:
结果如下