Sql Oracle APEX 5页面加载时的动态操作事件不起作用。我做错了什么?
该程序的基本目标是检索记录的一些字段,并在apex 5的静态内容区域的文本框中处理和显示这些字段 我的数据库:LCD\U监视器表 接口: 应该在页面加载事件中执行的PLSQL代码Sql Oracle APEX 5页面加载时的动态操作事件不起作用。我做错了什么?,sql,plsql,oracle-apex-5,Sql,Plsql,Oracle Apex 5,该程序的基本目标是检索记录的一些字段,并在apex 5的静态内容区域的文本框中处理和显示这些字段 我的数据库:LCD\U监视器表 接口: 应该在页面加载事件中执行的PLSQL代码 Declare lcd_id LCD_Monitor.LCD__NO%TYPE; tag LCD_Monitor.ASSET_TAG%TYPE; pp LCD_Monitor.PURCHASE_PRICE%TYPE; sal LCD_Monit
Declare
lcd_id LCD_Monitor.LCD__NO%TYPE;
tag LCD_Monitor.ASSET_TAG%TYPE;
pp LCD_Monitor.PURCHASE_PRICE%TYPE;
sal LCD_Monitor.SALVAGE%TYPE;
ls LCD_Monitor.LIFE_SPAN%TYPE;
accm LCD_Monitor.ACCUMULATED_DEP%TYPE;
netbook Number;
currDep Number;
Begin
select LCD__NO, ASSET_TAG, PURCHASE_PRICE,SALVAGE, LIFE_SPAN,
ACCUMULATED_DEP into lcd_id, tag, pp, sal, ls, accm from LCD_MONITOR
where LCD__No='40';
:LCD_NO:=lcd_id;
:CURR_DEP:= (pp-sal)*(1/ls);
:TOT_DEP:= (pp-sal)*(1/ls)+accm;
:NBV:=pp-(pp-sal)*(1/ls)+accm;
End;
PS:我已经将值返回到属性中“受影响元素”部分的文本框中
但加载页面时,文本框中不会显示任何值。任何帮助都将不胜感激。我不确定我是否正确理解了你到底在做什么。如果您只需要用数据填充项目,请创建一个before header进程(在页面设计器模式下,它处于
Pre-rendering
->before header
。在那里编写代码就足够了
如果您想在动态操作中执行此操作(我不推荐这种方式),您需要创建一个带有事件-页面加载的动态动作,该动作将包含一个具有以下属性的真实动作:动作-执行PL/SQL代码,PL/SQL代码-您的代码和要返回的项目-LCD\u NO,CURR\u DEP,TOT\u DEP,NBV
但请确保您的项目确实有这样的名称,因为默认情况下,APEX创建的项目名称类似于P10\u LCD\u NO
,其中10
(例如)是页面的数字。我没有直接为textfields项分配计算值,而是先将它们分配给变量,然后将变量分配给项,即
以前
:CURR_DEP:= (pp-sal)*(1/ls);
:TOT_DEP:= (pp-sal)*(1/ls)+accm;
:NBV:=pp-(pp-sal)*(1/ls)+accm;
纠正
currDep:= (pp-sal)*(1/ls);
:CURR_DEP:= currDep;
tot:= (pp-sal)*(1/ls)+accm;
:TOT_DEP:=tot;
netbook:=pp-((pp-sal)*(1/ls)+accm);
:NBV:=netbook;
不确定它的LCD\uuuu No
或LCD\uu No
。检查是否还有一个额外的\uuu
是,它的LCD\uu No(双下划线)是什么类型的动态操作?用户是否需要将任何数据发送到服务器进行计算?这是一个页面加载事件,关于数据:否,它是从数据库(LCD\u监视器表)检索的您的真实操作类型是什么?类型为Execute PL/SQL code
的真实操作没有属性受影响的元素受影响的元素是类型为Execute JavaScript code
的操作的属性。显然,这不是您需要的。不,实际上我打算从purc计算折旧将价格(表格记录)显示在LCD上,然后将其显示在页面项目(文本框)上。是的,我已经用与动态操作相同的方式进行了操作,但它不显示任何值