【问题标题】:Oracle APEX Shuttle Box OutputOracle APEX 穿梭箱输出
【发布时间】:2013-05-17 15:30:32
【问题描述】:

我是 APEX 的新手,但在显示输出时遇到了问题。穿梭箱本身工作正常,但在它下面我有一个提交按钮。当按下它时,它应该在下面的区域中显示用户的经理。这是我到目前为止所拥有的,但我不确定是我的代码还是我缺少 APEX 中的其他设置:

`DECLARE
 I_selected APEX_APPLICATION_GLOBAL.VC_ARR2;
 BEGIN
 FOR i IN 1..apex_application.g_f01.count
 LOOP
  if apex_application.g_f01(i) is not null then
 begin
 SELECT DISTINCT MANAGER_ID
 Where USERID = apex_application.g_f02(i);
 FROM au.RECERTIFICATION
 WHERE USERID = :I_selected;
 COMMIT;
 end if;
 END LOOP;
 Return APEX_UTL.TABLE_TO_STRING (I_selected);
 END;`

【问题讨论】:

  • 顺便说一下按钮点击事件。
  • 这段代码,在哪里?一个过程?它无法解析,它有几个语法错误。你为什么提到班车,这与显示用户的经理有什么关系? “用户”是实际的应用程序用户吗?

标签: sql oracle plsql oracle-apex


【解决方案1】:

基本的 Apex 穿梭控件将保存一个字符串值,该值将是由冒号 (:) 分隔的选定值的串联,例如'JONES:SMITH:BLOGGS'.

在您的事件处理中,您可以这样使用它:

FOR r IN (
  SELECT DISTINCT MANAGER_ID
  FROM au.RECERTIFICATION
  WHERE INSTR(':' || :shuttleitem || ':', ':' || USERID || ':') > 0
  ) LOOP
  -- do something with r.manager_id
END LOOP;

注意:确保您的穿梭物品列表的值不能包含任何嵌入的冒号 (:)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-16
    • 1970-01-01
    • 2020-10-14
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多