将列经典报告值传递给PL / SQL

时间:2018-02-14 08:42:22

标签: oracle-apex

我有关于经典报告的页面(type = PL / SQL动态内容)。我需要它在点击另一列时通过动态操作将一个列值传递给PL / SQL。启动点击操作没问题,但我不知道如何将等效的#col_name#(不是:Pxxx_item_name)传递给PL / SQL。

pass first column value into pl/sql procedure when click on third column

Application Express 5.0.4.00.12

1 个答案:

答案 0 :(得分:0)

我不确定你想要通过什么,所以我只是打电话给它" item"。

  1. 在报告中为列data-item="#COL_NAME#"添加自定义数据属性。这将会显示出被点击的图像。您可能需要使用HTML Expression选项来设置它。
  2. 创建隐藏项目P1_ITEM并将值保护设置为否。
  3. 创建在单击列中的图像时触发的动态操作。
  4. 在该DA上创建True操作,Action = Set Value,Set Type = Javascript Expression,JS表达式为this.triggeringElement.dataset[ "item" ],受影响的元素>选择类型=项目,项目= P1_ITEM。
  5. 在同一个DA上创建另一个True操作,Action =执行PL / SQL代码,要提交的项目= P1_ITEM,以及PL / SQL代码部分中您需要的任何代码。您可以使用:P1_ITEMV('P1_ITEM')
  6. 在代码中引用P1_ITEM

    当DA触发时,它会将列值填充到P1_ITEM,然后将其提交到存储在会话状态的服务器,然后运行您的PL / SQL代码。