[英]Populate table from array in LiveCycle Designer
我对Java还是比较陌生,并且已经开始了解一些用于在LiveCycle Designer ES4中创建表单的基本语言和功能。
我有4个复选框(例如“ check1”,check 2 ...)和4个预定义的数组(“ array1”,array2 ....)。 我在所有这些下面都有一个表,其中有3列(col1,col2,col3)。
我想做的是这样的:
我尝试了很多不同的选择,但似乎都无法正常工作。 在这一阶段,我什至无法获得一个数组来填充表,更不用说多个数组了。
这是我当前的代码:(注释掉的部分只是尝试加入数组)
var array1 = new Array("one","two","Three","Four","Five");
var array2 = new Array("this","that", "and this");
var array3 = new Array("another one");
var array4 = new Array("Finally this");
var k = [];
//if(check1.rawValue == "Yes")
//{k = k.concat(array1)}
//if(check2.rawValue == "Yes")
//{k = k.concat(array2)}
for
(i=0; i<array1.length; i++){
if (i>0) {Row01.InstanceManager.addInstance(1)}
xfa.resolveNode("Table.Row01["+i+"].col2").rawValue = array1[i];
}
任何帮助将不胜感激。
我测试了此解决方案,它有效:)
-数组每次都会以相同的顺序累加,但是如果您希望以单击复选框的顺序来累加,它可能会变得更复杂,但是您并没有特别要求,所以我希望足以让您理解它能行得通:
在你开始前:
在每个复选框内,单击事件均写入logic.populateCol2();
:
Formular1.#subform[0].Kontrollkästchen1[0]::click - (JavaScript, client)
logic.populateCol2();
然后在logic
Scriptobject中编写以下代码:
function populateCol2() {
var array1 = ["one", "two", "Three", "Four", "Five"];
var array2 = ["this", "that", "and this"];
var array3 = ["another one"];
var array4 = ["Finally this"];
var cb1 = Kontrollkästchen1;
var cb2 = xfa.resolveNode("Kontrollkästchen1[1]");
var cb3 = xfa.resolveNode("Kontrollkästchen1[3]");
var cb4 = xfa.resolveNode("Kontrollkästchen1[2]");
//Put in all your checkboxes here and corresponding array
var chbxs = [
[cb1, array1],
[cb2, array2],
[cb3, array3],
[cb4, array4]
];
var allValues = [];
for (var x = 0; x < chbxs.length; x++) {
var currentCbx = chbxs[x][0];
var currentArr = chbxs[x][1];
//Or ==="Yes" in your case
if (currentCbx.rawValue === 1) {
allValues = allValues.concat(currentArr);
}
}
//Set it back so it won't add up rows to infinity
Table.Row01.instanceManager.setInstances(1);
Table.Row01.col2.rawValue = "";
for (var i = 0; i < allValues.length; i++) {
if (i > 0) {
Table.Row01.instanceManager.addInstance(true);
}
xfa.resolveNode("Table.Row01[" + i + "].col2").rawValue = allValues[i];
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.