从昨天开始,我试图找出APEX中的复选框,这应该很简单,但是我甚至无法使最简单的场景工作。
这是我做的,所以你可以告诉我我做错了什么。
我有三张桌子:
create table semester(
id number not null,
name varchar2(30) not null,
primary key(id)
);
create table subject(
id number not null,
name varchar2(30) not null,
primary key(id)
);
create table semester_subject(
id number not null,
semester_id number not null,
subject_id number not null,
primary key(id),
foreign key(semester_id) references semester(id),
foreign key(subject_id) references subject(id),
constraint semester_subject_uq unique(semester_id, subject_id)
);
我在apex中创建了一个带有一个选择列表的区域,其中包含以下值列表:
select name d, id r
from semester
order by 1
和一个包含以下查询的报告
select
apex_item.checkbox2(10, id, 'UNCHECKED') "id",
subject "Subject'
from subject;
我也有一个按钮来提交页面。 我想要的是在semester_subject表中使用勾选的复选框插入主题的ID,以及从选择列表中选择的学期的ID。
所以我在提交过程中做了这个:
DECLARE
v_subject_id subject.id%type;
v_semester_id semester.id%type;
BEGIN
v_semster_id := :PX_SEMESTER;
FOR I in 1..APEX_APPLICATION.G_F10.COUNT LOOP
v_subject_id := APEX_APPLICATION.G_F10(i);
insert into semester_subject(semester_id, subject_id)
values(v_semester_id, v_subject_id); --I have a sequence and a trigger for the id
END LOOP;
END;
当我提交页面时,在我的VPS上,我得到404在此服务器上找不到请求的URL /apex/wwv_flow.accept。所以我在apex.oracle.com上创建了一个工作区,然后页面重新加载,我没有收到任何错误,但当我查看表格时,数据没有被插入。
提前感谢您的帮助。
答案 0 :(得分:1)
好的,我弄明白我做错了什么。来自我的SQL查询的报告,将id列呈现为转义的html,而不是默认情况下的复选框。所以我转到了报告属性并将id列设置为显示为简单的复选框,但这就是搞乱这些值的原因。当我将id列设置为标准列时,一切正常。