繁体   English   中英

根据另一个文本框中的数据在Oracle Apex中填充LOV

[英]Filling a LOV in Oracle Apex based on data in another text box

我对Oracle Apex相当陌生,并且有问题。 我们的应用程序当前具有一种输入数据的方法,其中包含多个文本框和“可选值列表”。 我想基于另一个文本框中的信息创建LOV,如下所示:

select APPOINTMENT_ID PATIENT_ID from APPOINTMENT where PATIENT_ID = :P9_PAT_NUM

其中P9_PAT_NUM是文本框中的患者编号。 但是,这显然仅在文本框已提交的情况下才有效,否则它将假定该文本框为空。

有没有什么方法可以使它与LOV一起使用,或者还有其他方法?

在Apex 4+版本中,这是一个内置功能。 您只需在级联LOV父项属性中指定LOV依赖的

在版本4之前,有许多解决方案可用-Google“ Apex级联LOV”,您会发现一些涉及一些工作的解决方案,例如:

Javascript: http//www.inside-oracle-apex.com/generic-solution-for-cascading-select-listslovs/

ApexLib: http ://one-size-doesnt-fit-all.blogspot.com/2007/10/apex-cascading-lovs-revisited.html

使用ExtJS: http ://application-express-blog.e-dba.com/ tag = apex-cascading-lov

一旦Apex 4.0推出(应该很快),使用其级联LOV功能将非常简单。 在此之前,您可以通过以下两种方式之一进行操作:简单但笨拙,或者困难但光滑...

1)简单但笨拙:

将以下Javascript添加到第一项的HTML表单元素属性中:

onchange="doSubmit()"

当第一个项目更改时,这将提交页面,因此在重新加载该项目时,将使用该项目的当前值来填充LOV。 我说这是“笨拙的”是因为整个页面重新加载(慢),并且光标移回了起始位置。

2)困难但光滑:

如果您的LOV是一个弹出窗口,则只需要使第一项的值进入会话状态即可,这可以通过Javascript和AJAX进行。

如果您的LOV是选择列表,则需要使用Javascript和AJAX动态重新填充选择列表。

我不会详细介绍这些内容,但是我看到在撰写本文时,Jeffrey Kemp发布了一些有用的链接,这些链接将进行详细说明。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM