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 流程

sql apex shuttle v2,connoar

Oracle Apex:Shuttle 没有将价值放在右侧并提供 null

Oracle APEX - 将 Shuttle Item 选择保存到新表

单击另一个按钮时无法获得组合框选定的项目值

如何在C#中获得组合框的所有选定值