我的页面上有一个复选框项(注意:这不在报告中),我想在页面加载时动态选中复选框。我有一个表格,其中包含所有复选框类型和一个表格,用于标识用户有权访问的复选框或更好的术语。
我的问题是,在Apex复选框项目中,您如何告诉它动态选中复选框。我在报告中使用它,我的查询如下所示:
SELECT at.name AS TITLE,
CASE
WHEN at.name IN (SELECT atp.name FROM preferences p) THEN apex_item.checkbox(1,at.value,'CHECKED')
ELSE apex_item.checkbox(1,at.value, 'UNCHECKED')
END AS CHECKBOX
FROM access_types at
我可以在oracle apex复选框项目中执行类似的操作吗?
答案 0 :(得分:3)
不确定它是否是您想要的,但如果您只需要在页面加载时初始化复选框项,则可以:
1 - 使用复选框项的 来源 属性并设置以下属性:
Always, replacing any existing value in session state
SQL Query (return single value)
或SQL Query (return colon separated value)
,具体取决于您的复选框项目是否包含多个复选框。2 - 使用标头计算来计算您的项目:
Before header
SQL Query (return single value)
或SQL Query (return colon separated value)
,具体取决于您的复选框项目是否包含多个复选框。注意 :我也在报告中使用了复选框,但我注意到当你有很多行时,它比使用简单的HTML复选框要慢,所以如果您认为报告速度很慢,我建议您从查询中生成简单的HTML复选框:
SELECT
at.name AS TITLE,
CASE WHEN at.name IN (SELECT atp.name FROM preferences p) THEN
'<input type="checkbox" value="'||at.value||'" checked="checked" />'
ELSE
'<input type="checkbox" value="'||at.value||'" />'
END AS CHECKBOX
FROM
[...]