无法找出apex_item.checkbox2

时间:2014-04-02 18:49:56

标签: oracle plsql oracle-apex

从昨天开始,我试图找出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上创建了一个工作区,然后页面重新加载,我没有收到任何错误,但当我查看表格时,数据没有被插入。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

好的,我弄明白我做错了什么。来自我的SQL查询的报告,将id列呈现为转义的html,而不是默认情况下的复选框。所以我转到了报告属性并将id列设置为显示为简单的复选框,但这就是搞乱这些值的原因。当我将id列设置为标准列时,一切正常。