如何在不刷新顶点的情况下获取项目中的值

时间:2018-08-09 12:45:32

标签: oracle-apex oracle-apex-5 oracle-apex-5.1

我有一个项目可以输入电子邮件ID,还有两个项目可以获取我们提供的该用户的名字/姓氏和部门的值,而无需刷新页面或不输入Enter。

项目1:例如:a ... z@gmail.com(文本字段)
第2项:防爆机械(仅显示)
项目3:前Abinnaya Moorthy(仅显示)

这应该在我们给定了电子邮件ID时发生,并且一旦光标从电子邮件ID中移出,就会显示两个项目值。

我使用了动态操作,但未获得准确的输出,请告诉我。

4 个答案:

答案 0 :(得分:2)

在第1项上,执行以下动态操作:

  1. 事件:更改(我建议使用“更改”,尽管根据您的问题,您可能也会对“鼠标离开”感兴趣,尽管即使物品价值没有变化也会触发DA发生,例如有人刚单击它并单击去)
  2. 选择类型:项目
  3. 项目:您的项目1
  4. 第一个正确的操作:执行PL / SQL代码

    1. 在将项目1作为WHERE子句的条件时,将值插入到项目2和3中
    2. 要提交的页面项目:您的项目1
    3. 要返回的页面项目:您的项目Item 2和Item 3
  5. 第二次实际操作:刷新
    1. 选择类型:项目
    2. 项目:您的项目Item1和Item2

答案 1 :(得分:0)

假设您正在使用第9页,并且电子邮件字段为:P9_EMAIL_ITEM,名称字段为:P9_FNAME_ITEM和:P9_LNAME_ITEM

  1. 电子邮件字段是一个文本字段(与来源无关紧要)
  2. 名称字段应仅显示,并且在属性中,“基于”设置应为“页面项值”,将source属性设置为Null。
  3. 在电子邮件文本字段上,创建一个新的动态操作,将“时间”属性设置为:事件->更改,选择类型->项目,项目-> P9_EMAIL_ITEM

    < / li>
  4. 在动态动作下,您将有一个“新建”事件,带有“ True”文件夹,并且在其中有一个新动作(可能是“ Show”)。将其操作更改为“设置值”。 更改设置属性,以使“设置类型”为“ SQL语句”,并编写具有以下结构的语句:

    选择FNAME_COLUMN,LNAME_COLUMN

    来自RELEVANT_TABLE

    其中EMAIL_COLUMN =:P9_EMAIL_ITEM

  5. 在“要提交的项目”下,选择P9_EMAIL_ITEM。 在“受影响的元素”属性集中,选择类型->项目和项目-> P9_FNAME_ITEM,P9_LNAME_ITEM

  6. 在“执行选项”中,为“初始化时启动”选择“否”

我们在第5步所做的是在不刷新页面的情况下“刷新”了相关项目

答案 2 :(得分:0)

我刚刚对其进行了测试,这是非常有效的方法:

  1. 在第1项上,在“松散焦点”上创建DA
  2. 为项目2和项目3创建两个“设置值”的真实操作。
  3. 选择设置>将类型设置为SQL语句。
  4. 编写查询以获取第2项和第3项,以第1项为基础(我建议比较两者的小写形式,使其不区分大小写。)
  5. 要提交的项目->项目1

中提琴就完成了!

答案 3 :(得分:0)

假设我有1个字段,例如上面的电子邮件字段。然后,我仅显示50个字段,这些字段的值来自(取决于电子邮件字段的)(源)SQL查询。如何刷新此字段而不刷新页面,也无需手动设置其值?我只想触发他们执行其源SQL查询并刷新页面上的值。

通过SetValue操作设置其值将导致在Dynamic Action和每个字段的Source SQL Query中具有相同的查询。同样,对于50个字段,DA将具有数百条SQL行,并且将变得不可维护。