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

Adding new instance of row, unable to update cell raw values

本文关键字:更新 单元格 原始 实例 添加      更新时间:2023-09-26

我把自己难住了,我认为这是一个非常简单的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]

怎么了?

我已经想出了一个解决办法。addInstance()函数返回新的行实例。所以我已经更新了我的table_build()函数,将该值分配给一个变量(nRow),然后使用nRow来引用行。

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

希望这对其他有类似查询的人有所帮助:)