我最近开始创建一个订单表格,一旦从下拉框中选择产品编号或商品描述,它将自动填写商品描述,产品编号或单价。
我制作了这个表单的较小试用版,但它运行得很好,但是从下拉框中选择时需要花费很长时间才能添加所有可能的“操作”。真正的订单将有更多的项目可供选择,因此将花费更多的时间,这是我没有的。
有没有办法复制订单表格中其余行的第一行(Product01,Description01,Unit01)的操作,我需要更改的是Product01到Product02等等。 / p>
这就是我的订单表中的表格:
产品编号|项目描述|数量|单价|总计|
PN01 ..................... | Description01 ........ | QTY01 ..... | UNIT01 ....... | TTL01 |
PN02 ..................... | Description02 ........ | QTY02 ..... | UNIT02 ....... | TTL02 |
PN03 ..................... | Description03 ........ | QTY02 ..... | UNIT02 ....... | TTL03 |
这是其中一项操作的代码:
//-
//+ GENERATED - DO NOT EDIT (ID:5F8FCFED-90F7-48DF-9CDA-91C02E1BC86F CRC:3737938537)
//+ Type: Action
//+ Result2: SetFieldValue("$Node3","tovalue","4.99")
//+ Result1: SetFieldValue("$Node2","tovalue","Quality safety spectacles")
//+ Node3: topmostSubform[0].Page1[0].UNIT_01[0]
//+ Node2: topmostSubform[0].Page1[0].Description_01[0]
//+ Node1: topmostSubform[0].Page1[0].PN01[0]
//+ Condition1: ListField("$Node1","textselected","NB04B")
//+ ActionName: PN01.change
if ($.boundItem(xfa.event.newText) == "NB04B") {
this.resolveNode("Description_01").rawValue = "Quality safety spectacles";
this.resolveNode("UNIT_01").rawValue = "4.99";
}
我刚刚使用动作构建器来创建这些动作。
我希望这有助于解释我想要实现的目标。
答案 0 :(得分:0)
您应该创建一个包含单个主体行的表,并允许用户在需要时添加新行。然后将单元格的上述代码放在一行就足够了。添加新行时,它们也有此代码。
为了使用户能够添加新行,您可以添加一个带有添加新行的脚本的按钮。它可以使用ActionBuilder进行生成。不要忘记在Object->绑定工具箱中为您的行启用为每个数据项重复行。