在我的APEX应用程序中,我想将查询中的行用作变量,但我不想为每个元素创建项目。我必须在自定义HTML页面中显示这些变量。
例如,这是查询:
SELECT cells.id as id, cells.name as name, storage.capacity as capacity from cells, storage WHERE storage.capacity > 120
然后在我的自定义HTML代码中,我想引用那些行,就像这样(对不起,我不知道变量的语法):
<div>#name[1]#</div><a href="p?#id[1]"...
<div>#name[2]#</div><a href="p?#id[2]"...
那么我该如何为单个获取的行和多个行执行此操作?从事哪种类型的流程和地区?
答案 0 :(得分:1)
如果您不想手动为每个元素创建项目,可以使用Form on table or view
类型的区域。 APEX会自动创建它们。如果您不想自动创建项目,可以创建HTML
类型的区域,然后转到Region Definition
- &gt; Identification
,选择Type
- PL/SQL (anonymous block)
,Source
- 在那里输入您的PL / SQL代码。例如:
declare
...
begin
for i in (select text_col, rownum from mytable) loop
htp.p(apex_item.text(rownum, text_col) || '<br>');
end loop;
end;
您可以将任何字符串变量传递给过程htp.p
。如果它们包含有效的HTML,它将正确显示,否则您将看到HTML源代码。您还可以使用apex_item
(http://docs.oracle.com/cd/E37097_01/doc/doc.42/e35127/apex_item.htm#AEAPI192)包生成所需项目的HTML代码。