【问题标题】:Oracle Apex Tree Selected Node not workingOracle Apex 树选定节点不工作
【发布时间】:2018-05-18 07:45:42
【问题描述】:

我的顶点页面上有一个基本的树区域。属性“选定节点页面项目”设置为同一页面上的文本输入。

当我选择一个树元素时,定义的文本输入保持为空。

有人有想法吗?

【问题讨论】:

    标签: javascript oracle oracle-apex oracle-apex-5.1


    【解决方案1】:

    关于“选定节点页面项目”的 Oracle APEX 帮助: "选择您希望保留所选节点值的页面或应用程序项。您可以输入名称或从可用项列表中选择。

    此项用于保存树状态,通过保存最后选择的节点的值。选中节点的值可以通过节点链接属性保存到选中项,也可以通过页面进程保存。重新加载树时,树会打开到选定的节点值。"

    所以仅仅设置这个属性不会在那里获得价值。您必须使用某种方法(例如树的链接属性)将值存储到 item 。 'Selected Node Page Item' 的用途是保存树节点的会话状态值,这样如果您导航到其他页面并返回树页面,树将打开到 ''Selected Node Page Item'值而不是显示一棵新树。

    【讨论】:

    • 感谢您的解释。三个链接属性是如何工作的?
    • 这是树定义的帮助文本:
    • 如果您检查树定义的帮助文本,您会发现类似“null as link”的行。代替 'null' ,您可以在那里调用 java-script 函数(在页面属性的 '函数和全局变量声明' 空间中定义 js 函数)并传递要作为参数存储的值。
    • 例如,如果要将所选节点的 'empId' 存储到 pageitem 中,请使用 'javascript:pageItemValue('''||empId||''')' AS LINK' in树定义。然后定义函数 pageItemValue(node) { $s('P1_NODE', node); } 在页面属性的“函数和全局变量声明”区域,如果要获取P1_NODE页面项中选中节点的empId。
    • 谢谢@Madona。我尝试添加js函数,它可以工作。
    【解决方案2】:

    页面项目是否不需要仅显示,而不是文本输入?为什么要允许某人编辑您推送的选定节点页面项的值?

    【讨论】:

    • 我需要受保护的隐藏输入中的值来创建主从视图。仅出于测试目的,我使用文本字段。所以我可以在第一个视图上看到当前值。
    【解决方案3】:

    要在点击时设置名为 P1_SELECTED_NODE_ID 的 PAGE ITEM 的值,请在查询的 SELECT 语句中添加以下 LINK 列:

    SELECT
      NODE_ID,
      NODE_DISPLAY,
      PARENT_NODE_ID,
      'javascript:$s("P1_SELECTED_NODE_ID","' || NODE_ID || '")' LINK
    FROM MY_TABLE
    

    然后在树属性中将 LINK 列设置为LINK

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-22
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多