如何获取复选框组中复选框的显示值?
How get display value of checkbox in a checkbox group?
我正在使用 APEX 21.1。我有一个复选框组,其值列表是使用查询检索的...
select disease, id from history;
查询returns多个复选框。我有另一个文本区域项目。我需要在选中时获取任何复选框的显示值,并将项目 HISTORY 设置为该值。如何操作?
如果您提供了一些示例页面项目名称和示例数据,描述操作方法会容易得多。因此,让我们调用您的复选框组 P10_CHECKBOX
和您的文本区域 P10_TEXT
.
通常,您的复选框组会将项目 ID 保存为冒号分隔的列表,如下所示:3:4:5
要显示相应的显示值,请对您的项目进行动态更改 P10_CHECKBOX
。
然后,使用 Execute PL/SQL Code
类型的 action
来获取项目的显示值。
代码可能如下所示:
select listagg(disease,chr(10)) within group (order by disease) into :P10_TEXT
from history h
join table(apex_string.split_numbers(:P10_CHECKBOX,':')) t on (h.id = t.column_value);
apex_string.split_numbers
会将您的冒号列表转换为实际的“table”,您可以在连接子句中使用列 column_value
。 listagg
将进行实际的串联,最多可处理几千个字符。 chr(10)
是一个普通的换行符,将逐行显示您的项目,但任何其他分隔符都可以。
最后一步是在 Items to submit
中设置 P10_CHECKBOX
,在 Items to return
中设置 P10_TEXT
。
现在,只要您点击复选框,文本区域就会立即更新。
我正在使用 APEX 21.1。我有一个复选框组,其值列表是使用查询检索的...
select disease, id from history;
查询returns多个复选框。我有另一个文本区域项目。我需要在选中时获取任何复选框的显示值,并将项目 HISTORY 设置为该值。如何操作?
如果您提供了一些示例页面项目名称和示例数据,描述操作方法会容易得多。因此,让我们调用您的复选框组 P10_CHECKBOX
和您的文本区域 P10_TEXT
.
通常,您的复选框组会将项目 ID 保存为冒号分隔的列表,如下所示:3:4:5
要显示相应的显示值,请对您的项目进行动态更改 P10_CHECKBOX
。
然后,使用 Execute PL/SQL Code
类型的 action
来获取项目的显示值。
代码可能如下所示:
select listagg(disease,chr(10)) within group (order by disease) into :P10_TEXT
from history h
join table(apex_string.split_numbers(:P10_CHECKBOX,':')) t on (h.id = t.column_value);
apex_string.split_numbers
会将您的冒号列表转换为实际的“table”,您可以在连接子句中使用列 column_value
。 listagg
将进行实际的串联,最多可处理几千个字符。 chr(10)
是一个普通的换行符,将逐行显示您的项目,但任何其他分隔符都可以。
最后一步是在 Items to submit
中设置 P10_CHECKBOX
,在 Items to return
中设置 P10_TEXT
。
现在,只要您点击复选框,文本区域就会立即更新。