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

How to get the values in items without refreshing the page in apex

我有一个项目用于输入电子邮件 ID,还有两个项目用于获取 first/last 用户的姓名和部门的值,我们在没有刷新页面或没有输入的情况下给出了这些值。

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

这应该在我们提供电子邮件 ID 时发生,一旦光标离开电子邮件 ID,就会显示两个项目值。

我使用了动态动作但没有得到准确的输出,请告诉我。

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

  1. 事件:变化(我会推荐'change',虽然根据你的问题,你可能也对'Mouse Leave'感兴趣,虽然它会触发DA 即使项目值没有发生变化,例如当有人点击它并点击离开时)
  2. 选择类型:项目
  3. 商品:您的商品 1
  4. 第一个真正的动作:执行PL/SQL代码

    1. 将值插入您的项目项目 2 和项目 3,同时使用您的项目 1 作为 WHERE 子句中的条件
    2. 要提交的页面项目:您的项目 1
    3. 到 Return 的页面项目:您的项目项目 2 和项目 3
  5. 第二个真实操作:刷新
    1. 选择类型:项目
    2. 项目:您的项目 Item1 和 Item2

假设您正在处理第 9 页,电子邮件字段为:P9_EMAIL_ITEM,名称字段为:P9_FNAME_ITEM 和:P9_LNAME_ITEM

  1. 电子邮件字段是一个文本字段(来源是什么无关紧要)
  2. 名称字段应仅显示,属性中的设置 "Based On" 应为 "Page Item Value",将源 属性 设置为 Null。
  3. 在电子邮件文本字段上,创建一个新的动态操作,将 When 属性设置为:Event -> Change,Selection Type -> Item(s),Item(s) -> P9_EMAIL_ITEM

  4. 在动态动作下你会有一个 "New" 事件,有一个 "True" 文件夹,里面有一个新动作(可能是 "Show")。将其操作更改为 "Set Value"。 更改设置 属性,使 "Set Type" 变为 "SQL statement",并编写具有以下结构的语句:

    select FNAME_COLUMN, LNAME_COLUMN

    来自 RELEVANT_TABLE

    其中 EMAIL_COLUMN = :P9_EMAIL_ITEM

  5. 下"Items to submit"select下P9_EMAIL_ITEM。 在受影响的元素属性中设置选择类型 -> 项目和项目 -> P9_FNAME_ITEM、P9_LNAME_ITEM

  6. In "Execution Options" select 初始化时不着火

我们在第 5 步所做的是 "refreshing" 相关项目,无需刷新页面

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

  1. 在项目 1 上,在 'Loose Focus'
  2. 上创建一个 DA
  3. 为项目 2 和项目 3 创建两个 'Set Value' 的真实动作。
  4. Select 设置 > 将类型设置为 SQL 语句。
  5. 根据第 1 项编写查询以获取第 2 项和第 3 项(我建议比较两者的小写字母以使其不区分大小写。)
  6. 要提交的项目 -> 项目 1

还有中提琴,完成了!

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

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