【问题标题】:Oracle Apex: Multiple fields with each submit button issueOracle Apex:每个提交按钮问题的多个字段
【发布时间】:2021-08-28 00:33:10
【问题描述】:

我正在使用旧版本的 Apex 5.0.3 和 Apex 新版本。

我在一页中有六个文本字段,每个字段有六个提交按钮。按钮映射如下

  • 按钮名称:“保存并稍后完成”高级 - 请求来源:“保存”
  • 按钮名称:“提交审批”高级 - 请求来源:“APPLY_CHANGES”
  • 按钮名称:“提交质量审核”高级 - 请求来源:“更新”
  • 按钮名称:“提交试点”高级 - 请求来源:“更新行”
  • 按钮名称:“批准任务”高级 - 请求来源:“更改”
  • 按钮名称:“Retired”高级 - 请求来源:“APPLY”

现在,我需要添加其他三个字段。我想知道,UPDATE、APPLY、APPLY_CHANGES 等请求源是预定义的数据,或者如何添加新的请求源?

enter image description here

enter image description here

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。
  • 谢谢。我已经添加了屏幕截图。我的问题是文本字段和按钮之间的链接。单击按钮时如何从文本字段中获取数据?很抱歉有很多问题。

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


【解决方案1】:

默认情况下,请求名称等于按钮名称,但您可以将其更改为任何您想要的名称。因此,去做吧 - 创建新的 3 个按钮,根据需要命名它们(例如 P1_BTN_NEW_BUTTON_1)并(可选)命名请求。

但是,您可能需要做的是:通常,按钮提交页面。此外,当按下某个按钮时,还有一个进程会运行。例如,您可能正在调用一个存储过程,该过程执行 something 并通过其 OUT 参数将消息(无论成功与否)返回到(隐藏的)Apex 项目(例如 P1_MESSAGE_BTN_1)然后可以在成功消息中使用 &P1_MESSAGE_BTN_1.(注意前导 & 符号 & 和尾随点 .)。

此外,您应该指定 condition 必须满足该条件才能使进程运行。如何?通过设置“按下按钮时”属性,只有在按下特定按钮(不是任何按钮)时才会触发进程。

【讨论】:

  • 感谢您的快速回复。我想知道,请求名称如何链接到按钮中的操作?我已经通过设置“按下按钮时”创建了该过程,但是如果我添加除我提到的任何其他请求源(例如 APPLY、UPDATE 等),则不会提交请求并且不会将值存储到数据库中。请帮助了解如何将按钮操作链接到新的请求源?
  • Littlefoot 说的完全正确。您的新按钮应该具有“提交页面”的行为操作。您为它们创建的新进程应使用服务器端条件“按下按钮时”,您可以在其中选择上面创建的按钮名称。除非从同一个按钮运行多个进程,否则您不应该还必须设置类型/值。
  • 我添加了文本字段和按钮的屏幕截图。我的问题是文本字段和按钮之间的链接。单击按钮时如何从文本字段中获取数据?很抱歉有很多问题。
  • 获取哪里?一旦按下(提交)按钮,项目的名称就会存储到会话状态中,您可以通过将项目引用为(例如):P1_DATE 来使用它的值。如果它(按下按钮后运行的进程)调用一个接受日期作为参数的存储过程,你会p_my_procedure(:P1_DATE);
  • 感谢您提供更详细的更新。但似乎我当前的应用程序没有使用任何程序。它使用屏幕截图中的“Request Source Type [Deprecated]”=“Static value [Deprecated]”和“Request Source =“SAVE”来触发验证和数据库更新。如果我删除“Request Source”值,验证和更新不起作用。我对如何创建“请求源”值并链接到流程感到困惑?请帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-07
  • 1970-01-01
  • 1970-01-01
  • 2013-04-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多