Oracle Apex 在移动到另一个页面之前设置值,项目都是空的
Oracle Apex Set values before moving to another page, Items are all null
我正在尝试执行以下操作:
- 具有唯一密钥的匿名用户输入代码并单击 'Start Survey'
- 该按钮需要调用 plsql 进程来填充一些隐藏的页面项目。
- 设置值后转到调查页面,该页面将使用隐藏项过滤结果。
问题
无论我到目前为止尝试了什么,当我到达下一页时,流程设置的项目都是空的。我认为这是因为它没有提交。我现在的方式是:
- 按钮导航到下一页
- 新进程设置为按下按钮时设置页面项目的值。
当它到达下一页时,它们又是空白的。
我可以设置提交按钮并在处理中执行分支,但我认为提交会在设置值之前发生。我发现这些事情发生的顺序令人困惑。
请问我可以得到帮助来完成这项工作吗?有没有关于更好地理解这个领域的好文章?
这是将值放入的过程中的代码:
Begin
select id into :P1_pat_id
from lic_paticipent
where unique_id = :P1_unique_code;
select sur_id into :P1_sur_id
from lic_paticipent
where unique_id = :P1_unique_code;
select id into :P1_first_res_id
from lic_result r
where r.pat_id = :P1_pat_id
and r.sur_id = :P1_sur_id
and r.qop_id is null
and rownum = 1;
End;
在此先感谢您的帮助。
当前页面中的隐藏页面项目不能在其他页面中使用,除非您的当前页面是全局页面。您必须将值传递给另一个页面中的另一个页面项目。
试试这个:
Go to the other page and Create hidden items to catch the value to be passed from the first page.
Go back to the first page and retain your process and create a branch process. then set it to redirect to another page. then you'll see Set items below. Put your hidden items in the other page in the left side then your hidden items in your current page in the right side in this format &P1_NEW.(with the period)
应该是这样的
设置项目
P11_PAT_ID--------------------------&P1_PAT_ID.
P11_SUR_ID--------------------------&P1_SUR_ID.
等等
好的,我解决了它,这是我解决了另一个问题。
我已将隐藏字段设置为 "Always replacing" 而不是 "Only when null",因此 plsql 进程更新了会话而不是项目,因此当我提交时,空项目替换了 plsql 进程设置的内容。我曾预计,当会话更新时,它也会更新该项目。
我通过使隐藏字段可见来解决这个问题,并且可以看到它是空白的,但是当我检查会话状态时它有一个值。
我正在尝试执行以下操作:
- 具有唯一密钥的匿名用户输入代码并单击 'Start Survey'
- 该按钮需要调用 plsql 进程来填充一些隐藏的页面项目。
- 设置值后转到调查页面,该页面将使用隐藏项过滤结果。
问题
无论我到目前为止尝试了什么,当我到达下一页时,流程设置的项目都是空的。我认为这是因为它没有提交。我现在的方式是:
- 按钮导航到下一页
- 新进程设置为按下按钮时设置页面项目的值。
当它到达下一页时,它们又是空白的。
我可以设置提交按钮并在处理中执行分支,但我认为提交会在设置值之前发生。我发现这些事情发生的顺序令人困惑。
请问我可以得到帮助来完成这项工作吗?有没有关于更好地理解这个领域的好文章?
这是将值放入的过程中的代码:
Begin
select id into :P1_pat_id
from lic_paticipent
where unique_id = :P1_unique_code;
select sur_id into :P1_sur_id
from lic_paticipent
where unique_id = :P1_unique_code;
select id into :P1_first_res_id
from lic_result r
where r.pat_id = :P1_pat_id
and r.sur_id = :P1_sur_id
and r.qop_id is null
and rownum = 1;
End;
在此先感谢您的帮助。
当前页面中的隐藏页面项目不能在其他页面中使用,除非您的当前页面是全局页面。您必须将值传递给另一个页面中的另一个页面项目。
试试这个:
Go to the other page and Create hidden items to catch the value to be passed from the first page.
Go back to the first page and retain your process and create a branch process. then set it to redirect to another page. then you'll see Set items below. Put your hidden items in the other page in the left side then your hidden items in your current page in the right side in this format &P1_NEW.(with the period)
应该是这样的
设置项目
P11_PAT_ID--------------------------&P1_PAT_ID.
P11_SUR_ID--------------------------&P1_SUR_ID.
等等
好的,我解决了它,这是我解决了另一个问题。 我已将隐藏字段设置为 "Always replacing" 而不是 "Only when null",因此 plsql 进程更新了会话而不是项目,因此当我提交时,空项目替换了 plsql 进程设置的内容。我曾预计,当会话更新时,它也会更新该项目。 我通过使隐藏字段可见来解决这个问题,并且可以看到它是空白的,但是当我检查会话状态时它有一个值。