OracleAPEX页面开发:向导页面与表单区域的应用
立即解锁
发布时间: 2025-08-15 00:17:51 阅读量: 3 订阅数: 12 


Oracle APEX 20应用开发精要
### Oracle APEX 页面开发:向导页面与表单区域的应用
#### 1. 向导进度条定制
在将列表区域添加到所有四个页面后,从页面编辑器单独运行每个页面,会发现页面根据其在列表中的位置不同,进度条的显示也不同。可以通过点击图 9 - 11 中的“模板选项”属性来定制向导进度条的外观和感觉,点击后会弹出如图 9 - 12 所示的对话框。
- **可点击步骤**:勾选“使向导步骤可点击”复选框,进度条上的每个圆圈将变为链接,点击圆圈可跳转到对应步骤的页面。
- **标签显示**:“标签显示”选项可指定进度条是显示所有步骤的标签、仅显示当前步骤的标签还是不显示标签。例如,图 9 - 6 至 9 - 8 中的进度条仅显示当前步骤,而图 9 - 9 显示所有步骤,默认情况下,进度条显示所有步骤。
#### 2. 基本信息页面
基本信息页面包含五个项目:
| 项目 | 类型 | 列表值查询 |
| ---- | ---- | ---- |
| P25_NAME | 文本字段 | 无 |
| P25_SAL | 数字字段 | 无 |
| P25_JOB | 选择列表 | `select distinct Job as DisplayVal, Job as ResultVal from EMP order by DisplayVal` |
| P25_DEPTNO | 选择列表 | `select DName, DeptNo from DEPT order by DName` |
| P25_HIRED_TODAY | 复选框组 | 静态值 `[ ,Yes]`,选中时值为 `Yes`,否则为 `null` |
“继续”按钮执行提交操作,提交时需要完成以下几件事:
- **计算非职员员工的经理**:编写名为 `ComputeManager` 的过程,根据 `P25_JOB` 的值以三种方式计算经理值,并将结果赋给 `P26_MGR`(经理信息页面的项目)。该过程仅在新员工不是职员时执行,条件为 `:P25_JOB <> 'CLERK'`。
```plsql
begin
case :P25_JOB
when 'PRESIDENT' then -- 总裁没有经理
:P26_MGR := null;
when 'MANAGER' then -- 经理的经理是总裁
select EmpNo into :P26_MGR
from EMP
where Job = 'PRESIDENT';
else -- 员工的经理是部门经理
select EmpNo into :P26_MGR
from EMP
where DeptNo = :P25_DEPTNO and Job = 'MANAGER';
end case;
end;
```
- **设置入职日期为今天**:编写名为 `ComputeHiredate` 的过程,使用 `sysdate` 函数计算当前日期并赋给 `P27_HIREDATE`(入职日期信息页面的项目)。该过程仅在 `P25_HIRED_TODAY` 被选中时执行,条件为 `:P25_HIRED_TODAY = 'Yes'`。
```plsql
begin
:P27_HIREDATE := sysdate;
end;
```
- **确定跳转页面**:创建三个分支对象 `GoToPage26`、`GoToPage27` 和 `GoToPage28`,分别对应页面 26、27 和 28,每个分支都与“继续”按钮关联,其触发条件如下:
- `GoToPage26`:`P25_JOB = 'CLERK'`
- `GoToPage27`:`:P25_JOB <> 'CLERK' and :P25_HIRED_TODAY is null`
- `GoToPage28`:`:P25_JOB <> 'CLERK' and :P25_HIRED_TODAY = 'Yes'`
以下是基本信息页面逻辑的 mermaid 流程图:
```mermaid
graph TD;
A[提交基本信息页面] --> B{新员工是否为职员};
B -- 否 --> C[计算经
```
0
0
复制全文
相关推荐










