添加新的行实例,无法更新单元格原始值

时间:2016-11-17 05:23:59

标签: javascript livecycle

我对自己认为非常简单的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]

这里有什么问题?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。 addInstance()函数返回新的行实例。所以我更新了table_build()函数以将该值赋给变量(nRow),然后使用nRow来引用该行。

var nRow = nTable._HeaderRow.addInstance(true);
nRow.Cell1.rawValue = oField.getDisplayItem(i);

希望这可以帮助其他有类似疑问的人:)