无法动态隐藏表格单元格中的子表单

2020-08-19 07:49发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)亲爱的朋友, 我有一个要求,我...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


亲爱的朋友,

我有一个要求,我需要使表行(单元格)中的子窗体动态可见/不可见。

我的代码:

data。#subform [0]。#subform [2]。#subform [3] .GT_TABLE.DATA [0]。#subform [1]。#subform [2] :: initialize-(JavaScript,客户端)
var length = xfa.resolveNodes(" data。#subform [0]。#subform [2]。#subform [3] .GT_TABLE.DATA")。length;
//var字段= xfa.form .subform.table.row.all;
xfa.host.messageBox(" Hi");
用于(var i = 0; i <= length; i ++)
{
xfa.host .messageBox(" Hi");
if(xfa.resolveNode(" data。#subform [0]。#subform [2]。#subform [3] .GT_TABLE.DATA [" + i +"]。# subform [1]。#subform [2] .TextField1")。rawValue ==" X"){
this.presence =" hidden";
} else {
this.presence =" visible" ;
}
}

问题1.如果子窗体在第一行被隐藏,则它在表的所有行中都被隐藏,有条件的情况下它应该变为可见/不可见。

2. xfa.host.messageBox(" Hi"); 不能正常工作,我也尝试过这些,但以下均不能用于调试目的:

data。#pageSet [0] .Page1.CurrentPage :: initialize-(JavaScript,客户端)
xfa.host.messageBox(" welcome"," Error",3,0);
$ host .messageBox(" Welcome");
xfa.host.messageBox(" Test");

app.alert(" click");

4条回答
DafaDDDa
2020-08-19 08:12

嗨,Siva,
如果您打算遍历表以隐藏某些字段,请仅将脚本应用于表本身 。

代替:

data。#subform [0]。#subform [2]。#subform [3] .GT_TABLE.DATA [0]。#subform [1]。#subform [2] :: initialize

您应该将编码放在这里:

data。#subform [0]。#subform [2]。#subform [3] .GT_TABLE.DATA [0]

否则,整个表将针对每一行循环,这可能会导致 糟糕的性能和意外行为。

您的messageBox很有可能不会触发,因为Adobe对正确的参数非常挑剔。

adobe xfa docs

您是否尝试过以下示例:

 xfa.host.messageBox("这是一条消息","这是标题",3,1)

最诚挚的问候
帕斯卡

一周热门 更多>