Oracle之APEX深入开发指南 联系客服

发布时间 : 星期日 文章Oracle之APEX深入开发指南更新完毕开始阅读

Oralce之APEX开发指南

2、 Pl/sql apps登录创建table:jjl_test(user_id varchar2(50),resp_id varchar2(50),resp_appl_id

varchar2(50),login_name varchar2(50),login_count number,login_date date); insert into jjl_test values(‘123’,’’,’’,’’,’’);

3、 在Page2中创建六个html region,对应的Parent Regionn选择Page Template

Body(1)

4、 Search1,search2,search3 属于同一个TABLE,属性Column依次为1,2,2. 属性Start

New Grid依次为Yes,No,No. 属性Start New Row依次为Yes,No,Yes. 5、 New Search1,new search2,new search3 属于同一个TABLE,属性Column依次为

1,2,3. 属性Start New Grid依次为Yes,No,No. 属性Start New Row依次为Yes,No,No. 6、 在search1中创建TextField:P1_X_TEXT,P2_X_TEXT,search2中创建

Button :SEARCH2_BTN,search3中创建DatePick:DATA,new search2中创建子区域:newsearch_subpage1,new_search3_subpage2,new_search3_subpage3, 属于同一个TABLE,属性Column依次为1,2,1. 属性Start New Grid依次为Yes,No,No. 属性Start New Row依次为Yes,No,Yes

7、 P1_X_TEXT鼠标右键创建相应的Validation:

Oralce之APEX开发指南

Name:X_TEXT1 IS NOT NULL When Button Pressed:SEARCH2_BTN.

Condition Type:Exists(SQL query returns at least one row)

Condition Expression 1:select 1 from jjl_test jt where jt.user_id=’123’; Validation Type:Function Returning Boolean

Validatoin Expression:begin if :P1_X_TEXT is not null then return true; end if; return false;end;

Error message:X_TEXT1 can’t be null;

8、 P2_X_TEXT鼠标右键创建相应的Dynamic Actions:

Name:Dynamic_action1; Conditon Type:Always; When Event:Change When Selection Type:Item(s) When Item(s):P2_X_TEXT When Condition:is not null

True Actions:Hide Region(new search2) False Actions:Show Region(new search2);

9、 创建PageLoad型的Dynamic Action

Name:page_load_set_date;

Condition Type:Dynamic Actoin Not conditional When Event:Page Load When Condition No Condition True Actions:Set Value

Set Value/Settings/Set Type:SQL Statement

Set Value/Settings/SQL Statement:select sysdate from dual; Set Value/Affected Elements/Selection Type:Item(s) Set Value/Affected Elements/Item(s):DATA

2.4. Report常用增删改

通常在APEX中对于记录的增删改是通过链接到新的页面去实现单条数据的更改。本节主要介绍如何在一个Tabular Form中不链接实现多行数据的增删改和客户化逻辑。APEX的Tablular Form开发类似于EBS Form开发,也是基于视图去开发。

下面实例开发一个Form,当更改用户的class_name与login_name时,更新用户的

login_name,然后在另一张表校验class_name是否存在,若不存在报错,若存在则把当前勾选的记录插入另一张表jjl_test3

1、 数据库中先创建APEX页面的Tabular Form的View,同时创建一个APEX页面并创

建Tabular Form 2、 create table jjl_class(class_id number,class_name

varchar2(50));

Oralce之APEX开发指南

create or replace view jjl_class_test2 as SELECT jt.user_id, jt.resp_id,

jt.resp_appl_id, jt.login_name, jc.class_name

FROM jjl_test2 jt, jjl_class jc WHERE jc.class_id = jt.class_id;

3、 配置页面Tabular Form数据源

4、 创建一个RegionButton:Apply Change 5、 为Apply Change创建Process:

Oralce之APEX开发指南

6、 运行效果如图:

当class_name不存在于jjl_class表中时

当输入的class name存在时,运行的效果与结果如图:

把BBB更改为DDD

点击Apply Change后