我对自己认为非常简单的JavaScript函数感到困惑。该函数有2个参数。第一个是列表框(oField
),第二个是表格(nTable
)。
列表框由用户填充,每次更改此列表框的值时,我希望调用下面的函数,重新创建nTable
,原始标题以及列表框中每个值的行
function table_build(oField, nTable){
//clear table when selection changes
nTable._HeaderRow.setInstances(1);
//add new selection to table
for(i=0;i<oField.length;i++){
nTable._HeaderRow.addInstance(true);
nTable.HeaderRow[i+1].Cell1.rawValue = oField.getDisplayItem(i);
}
}
我遇到的问题是以下一行:
nTable.HeaderRow[i+1].Cell1.rawValue = oField.getDisplayItem(i);
我可以使用:
更新标题行的值nTable.HeaderRow.Cell1.rawValue = oField.getDisplayItem(i);
这很奇怪,因为我希望在添加新实例后它需要HeaderRow[0]
。
这里有什么问题?
答案 0 :(得分:0)
我找到了解决方案。 addInstance()
函数返回新的行实例。所以我更新了table_build()
函数以将该值赋给变量(nRow
),然后使用nRow
来引用该行。
var nRow = nTable._HeaderRow.addInstance(true);
nRow.Cell1.rawValue = oField.getDisplayItem(i);
希望这可以帮助其他有类似疑问的人:)