将值插入数据库并将 return 它们插入交互式网格 (APEX 5.1)
Insert values into database and return them into interactive grid (APEX 5.1)
我有一个 表格 和 Select 列表 项目 P2_PERSON(它的类型是 Shared component 并且它显示 PERSON 中的人员姓名 table 在数据库中),两个 日期选择器 P2_DATEFROM 和 P2_DATETO 和一个标记为 GO 的 快捷按钮 。下面,在同一页面上(见图 1)是 Interactive Grid(apex 5.1 中的一个新区域,看起来是一个新鲜而强大的功能)。我需要做的,但在任何地方都找不到答案的是:在 Select 列表 中选择了标记为 Osoba 的人之后, 在第一张图片中可以看到,从两个 Date pickers 中选择两个日期,单击 GO 按钮 5 行插入 table CONTROL_TT 并呈现在 Interactive grid 在页面上。日期之间的差异不得超过 7 天,以避免在 table 中插入过多内容。
Each day in the range of dates entered represents one new inserted
row in CONTROL_TT table and that date is stored in date
column of every row.
Also, person_id collected (or passed) from P2_PERSON
Select list Item is stored in person_id column of CONTROL_TT table. Columns of CONTROL_TT table are
(control_id, person_id, date, time_from, time_to, hours_total, project_id, status, desc, person_id_accept_req)
Id column is populated trough sequence seq_evidencija
time_from, time_to, hours_total 和 desc 是 inserted/tiped (输入)由用户在 interactive Grid 填充数据时手动输入的。 project_id 将是 Select 列表(来自 table 项目 in db) Interactive grid 和 status 与 project_id 使用 Status table 作为数据参考。发送
Web page in browser look
Look from apex
- 您的 GO 按钮必须具有 操作:提交页面。
创建验证类型:PL/SQL表达式具有以下代码:
to_date(:P2_DATETO, 'dd-mon-yyyy')-to_date(:P2_DATEFROM, 'dd-mon-yyyy') <=7
(注意,如果需要,请修改日期格式)条件为 When Button Press: GO 和您要显示的一些消息。
3. 创建一个在 When Button Press: GO 条件下运行的进程,此 PL/SQL 代码:
BEGIN
FOR i IN 1..(To_date(:P2_DATETO, 'dd-mon-yyyy')-To_date(:P2_DATEFROM, 'dd-mon-yyyy'))
LOOP
INSERT INTO control_tt (person_id, DATE)
VALUES (:P2_PERSON, To_date(:P2_DATETO, 'dd-mon-yyyy') + i - 1);
END LOOP;
END;
我有一个 表格 和 Select 列表 项目 P2_PERSON(它的类型是 Shared component 并且它显示 PERSON 中的人员姓名 table 在数据库中),两个 日期选择器 P2_DATEFROM 和 P2_DATETO 和一个标记为 GO 的 快捷按钮 。下面,在同一页面上(见图 1)是 Interactive Grid(apex 5.1 中的一个新区域,看起来是一个新鲜而强大的功能)。我需要做的,但在任何地方都找不到答案的是:在 Select 列表 中选择了标记为 Osoba 的人之后, 在第一张图片中可以看到,从两个 Date pickers 中选择两个日期,单击 GO 按钮 5 行插入 table CONTROL_TT 并呈现在 Interactive grid 在页面上。日期之间的差异不得超过 7 天,以避免在 table 中插入过多内容。
Each day in the range of dates entered represents one new inserted row in CONTROL_TT table and that date is stored in date column of every row.
Also, person_id collected (or passed) from P2_PERSON Select list Item is stored in person_id column of CONTROL_TT table. Columns of CONTROL_TT table are
(control_id, person_id, date, time_from, time_to, hours_total, project_id, status, desc, person_id_accept_req)
Id column is populated trough sequence seq_evidencija
time_from, time_to, hours_total 和 desc 是 inserted/tiped (输入)由用户在 interactive Grid 填充数据时手动输入的。 project_id 将是 Select 列表(来自 table 项目 in db) Interactive grid 和 status 与 project_id 使用 Status table 作为数据参考。发送
Web page in browser look
Look from apex
- 您的 GO 按钮必须具有 操作:提交页面。
创建验证类型:PL/SQL表达式具有以下代码:
to_date(:P2_DATETO, 'dd-mon-yyyy')-to_date(:P2_DATEFROM, 'dd-mon-yyyy') <=7
(注意,如果需要,请修改日期格式)条件为 When Button Press: GO 和您要显示的一些消息。 3. 创建一个在 When Button Press: GO 条件下运行的进程,此 PL/SQL 代码:
BEGIN
FOR i IN 1..(To_date(:P2_DATETO, 'dd-mon-yyyy')-To_date(:P2_DATEFROM, 'dd-mon-yyyy'))
LOOP
INSERT INTO control_tt (person_id, DATE)
VALUES (:P2_PERSON, To_date(:P2_DATETO, 'dd-mon-yyyy') + i - 1);
END LOOP;
END;