在 Oracle apex 20.2 中,获取所选树节点 id

问题描述

美好的一天,

我正在运行 orcl apex 20.2。我有一个带有简单表的树区域:id、title、parent_id。

我正在努力使用 JS 获取选定的节点 ID,并将其存储在页面项中。我的JS技能很周。我一直在尝试使用动态Action来执行JS并使用treeNodeAdapter,但是返回的对象是一个jQuery对象。那时我不知道该怎么办。

鉴于上面的表格,有人可以写回我在 DA 中需要的确切 JS 来捕获选定的 id 并将其保存到页面项中...

请和谢谢

尼基塔

解决方法

方法如下(基于 Scott 的 EMP 表)。

假设第 70 页包含树区域。在其上创建一个页面项目(例如,P70_EMPNO)。

树查询看起来像这样(注意 link 列;点击后,它将所选节点值存储到 P70_EMPNO 页面项中):

select 
  case when connect_by_isleaf = 1 then 0 when level = 1 then 1 else -1 end as status,level,ename || ' (' || empno ||')' as title,'icon-tree-folder' as icon,empno as value,ename as tooltip,--
  'javascript:$s(''P70_EMPNO'','''||EMPNO||''')' as link        --> this
from emp
start with mgr is null
connect by prior empno = mgr
order siblings by ename;

结果(当您点击 JAMES 节点时):


附言看起来你的键盘坏了;少了几个字母。