2016-11-17 4 views
1

매우 단순한 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

나는 해결책을 찾았다. addInstance() 함수는 새 행 인스턴스를 반환합니다. 그래서 내 table_build() 변수 (nRow)에 해당 값을 할당하려면 함수를 업데이트 한 다음 nRow을 사용하여 행을 참조하십시오.

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

희망이 유사한 쿼리를 다른 사람을 도움 :)