APEX Shuttle - 获得更多选定值
Posted
技术标签:
【中文标题】APEX Shuttle - 获得更多选定值【英文标题】:APEX Shuttle - get more values as selected 【发布时间】:2013-04-16 13:52:50 【问题描述】:我从 APEX 开始工作了几天,我添加了一个 Shuttle,还添加了一个文本字段,其中包含处理所选值后的内容。
对于班车,我制作了一个 LOV(包含车站) 例子: 是 FD 金 ...
目标是获取包含所选电台的所有对象 但是如果我运行选择我会得到更多的对象 - 也是不包含任何选定站的对象,但我不知道为什么
在 SQL 语句中,我有以下内容:(ds_bess001 是车站字段)
AND INSTR (:P4_BES_EN, zl.ds_bes001) > 0
对于穿梭我使用下面的 PL/SQL
DECLARE
v_selected APEX_APPLICATION_GLOBAL.VC_ARR2;
v_in_text VARCHAR2 (500) := '';
BEGIN
v_selected := APEX_UTIL.STRING_TO_TABLE (:P4_BES);
FOR i IN 1 .. v_selected.COUNT
LOOP
v_in_text := v_in_text || v_selected (i);
IF i < v_selected.COUNT
THEN
-- v_in_text := v_in_text || ', ';
v_in_text := v_in_text || ',';
END IF;
END LOOP;
-- v_in_text := '''' || replace(:P1_SHUTTLE, ':', ''',''') || '''';
:P4_BES_EN := v_in_text;
END;
有人可以帮帮我吗?!
现在我找到了问题,我得到了变量示例 Ap','Fd','Ab,问题是变量在开头和结尾都错过了 '
谁能告诉我如何在变量中添加缺少的 '?
【问题讨论】:
【参考方案1】:尝试一下
:P4_BES_EN := ''''||v_in_text||'''';
for ' 开头和结尾。
我认为你必须将你的 instr 更改为类似的东西
:P4_BES_EN := ','''||v_in_text||''',';
AND INSTR (:P4_BES_EN, ','||zl.ds_bes001||',') > 0
例如:
DECLARE
v_in_text VARCHAR2 (500) := 'Ap'',''Fd'',''Ab';
BEGIN
v_in_text := ','''||v_in_text||''',';
dbms_output.put_line(v_in_text);
END;
【讨论】:
感谢您的帮助,但我得到的结果与以前相同。我认为问题是字段 ds_bes001 和 instr 中的 sql statemant (AND INSTR (:P4_BES_EN, zl.ds_bes001) > 0 )...所以我需要 SQL 的另一个解决方案 但是现在开头和结尾都有'? 好的,谢谢!问题是我发现是sql中的语句......因为在提交ds_bes001中我有值A,B,C,De,Fg ..==>所以如果我选择以下将插入变量中的站Ab,Ne 我得到了 A、Ab、Ne 站的对象,因为我使用了 sateman 中的 instr ......但现在我不知道,我该如何解决这个问题以上是关于APEX Shuttle - 获得更多选定值的主要内容,如果未能解决你的问题,请参考以下文章
Oracle ApEx Shuttle 和 Ajax On Demand 流程
Oracle Apex:Shuttle 没有将价值放在右侧并提供 null