在页面加载 oracle apex

如何解决在页面加载 oracle apex

我试图在开始时在页面加载时设置页面元素的值。 该值依赖于已经从数据库中检索到并且已经在开头设置的另一个元素。

为了设置 id,我创建了一个函数,我调用这个函数来执行页面加载的动态操作,如下所示:

declare
id number;

begin

id:= set_ID(V('P1_page_item')); 
apex_util.set_session_state('P17_ID',id);

end;

但是页面项目的值没有被设置。 您对如何在页面加载时设置页面项目值有任何建议吗?

解决方法

有很多方法可以在页面加载时设置页面项的值。您可以使用页面处理、计算、页面项目的默认值或页面项目的源值。动态动作也是一种可能,但我从未这样做过...

我个人认为计算是为页面项目设置值的最简洁的方法。这只是为了 - 计算项目的价值。在您的情况下,您可以使用源 set_ID(:P1_PAGE_ITEM)

为表达式类型的项目 P17_ID 创建计算

现在页面项没有设置的问题可能是别的。尝试提供有关页面的尽可能多的信息,以便为我们提供有关为什么未正确设置的线索。您是否在调试中运行该页面?这应该能让您了解正在发生的事情。

附注:

  • 不应在应用程序中使用函数 V。创建它是为了允许在应用程序上下文之外引用顶点项目值,例如在存储过程或视图中。使用 V 函数存在性能问题,应尽可能避免。在应用程序中,只需使用绑定变量语法(:P1_ITEM)来引用和设置变量值。
  • P1_PAGE_ITEM 是如何设置的?作为最佳实践,尽量避免引用其他页面上的页面项目。 P1_PAGE_ITEM 应该只在第 1 页等上被引用和操作。使用分支或链接,您可以在第 17 页上设置相应的项目 P17_PAGE_ITEM。这将节省您以后的大量调试时间。此外,如果您清除第 1 页上的缓存,则 P1_PAGE_ITEM 的值将被清除,如果该页项存在于其他页面上,这可能会导致意外行为。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?