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后
相关推荐: