apex_item.checkbox2 命名参数时的行为
apex_item.checkbox2 behavior when naming parameters
此查询 returns 复选框 html 我希望在 Oracle apex 的 SQL 命令 window 中:
SELECT APEX_ITEM.CHECKBOX2(1,empno,DECODE(deptno,10,'CHECKED',NULL)) "Select", ename, job
FROM emp
WHERE deptno = 10
i.e. <input type="checkbox" name="f01" value="7782" CHECKED />
但是如果我明确命名我的参数,我得不到正确的结果:
SELECT APEX_ITEM.CHECKBOX2(p_idx=>1,p_value=>empno,p_checked_values=>DECODE(deptno,10, 'CHECKED',NULL)) "Select", ename, job
FROM emp
WHERE deptno = 10
<input type="checkbox" name="f01" value="7782" />
我不明白为什么按照文档命名参数会出现这个问题。这是来自在线文档:
APEX_ITEM.CHECKBOX2(
p_idx IN NUMBER,
p_value IN VARCHAR2 DEFAULT NULL,
p_attributes IN VARCHAR2 DEFAULT NULL,
p_checked_values IN VARCHAR2 DEFAULT NULL,
p_checked_values_delimiter IN VARCHAR2 DEFAULT ':',
p_item_id IN VARCHAR2 DEFAULT NULL,
p_item_label IN VARCHAR2 DEFAULT NULL)
RETURN VARCHAR2;
唯一的区别是"CHECKED"?
您使用的 p_checked_values
错误:
p_checked_values
: 默认要检查的值
基本上,当使用 p_checked_values
时,您传入一个分隔值列表,将使用 'CHECKED'
指标,其中 p_value
在列表 p_checked_values
中(由参数 p_checked_values_delimiter
分隔)。它之前工作的原因是你将它作为第三个参数传递,实际上是 p_attributes
直接进入生成的 HTML 标记而不进行解析或更改。要修复您的代码,请使用以下代码,因为 'CHECKED'
属性不是由传递给 p_value
的值决定的:
SELECT APEX_ITEM.CHECKBOX2(p_idx=>1,p_value=>empno,p_attributes=>DECODE(deptno,10, 'CHECKED',NULL)) "Select", ename, job
FROM emp
WHERE deptno = 10
此查询 returns 复选框 html 我希望在 Oracle apex 的 SQL 命令 window 中:
SELECT APEX_ITEM.CHECKBOX2(1,empno,DECODE(deptno,10,'CHECKED',NULL)) "Select", ename, job
FROM emp
WHERE deptno = 10
i.e. <input type="checkbox" name="f01" value="7782" CHECKED />
但是如果我明确命名我的参数,我得不到正确的结果:
SELECT APEX_ITEM.CHECKBOX2(p_idx=>1,p_value=>empno,p_checked_values=>DECODE(deptno,10, 'CHECKED',NULL)) "Select", ename, job
FROM emp
WHERE deptno = 10
<input type="checkbox" name="f01" value="7782" />
我不明白为什么按照文档命名参数会出现这个问题。这是来自在线文档:
APEX_ITEM.CHECKBOX2(
p_idx IN NUMBER,
p_value IN VARCHAR2 DEFAULT NULL,
p_attributes IN VARCHAR2 DEFAULT NULL,
p_checked_values IN VARCHAR2 DEFAULT NULL,
p_checked_values_delimiter IN VARCHAR2 DEFAULT ':',
p_item_id IN VARCHAR2 DEFAULT NULL,
p_item_label IN VARCHAR2 DEFAULT NULL)
RETURN VARCHAR2;
唯一的区别是"CHECKED"?
您使用的 p_checked_values
错误:
p_checked_values
: 默认要检查的值
基本上,当使用 p_checked_values
时,您传入一个分隔值列表,将使用 'CHECKED'
指标,其中 p_value
在列表 p_checked_values
中(由参数 p_checked_values_delimiter
分隔)。它之前工作的原因是你将它作为第三个参数传递,实际上是 p_attributes
直接进入生成的 HTML 标记而不进行解析或更改。要修复您的代码,请使用以下代码,因为 'CHECKED'
属性不是由传递给 p_value
的值决定的:
SELECT APEX_ITEM.CHECKBOX2(p_idx=>1,p_value=>empno,p_attributes=>DECODE(deptno,10, 'CHECKED',NULL)) "Select", ename, job
FROM emp
WHERE deptno = 10