2012-06-22 3 views
0

나는 사용자가 그리드에서 선택하고 선택한 정보로 업데이트 된 양식을 가질 수 있도록 시그마 그리드의 onCellClick 기능을 사용하고 있습니다.자바 스크립트 분할 오류

onCellClick (그리드 행과 관련된 레코드를 반환하는)에서 반환 된 레코드를 분할하려고하면 "개체가이 속성 또는 메서드를 지원하지 않습니다"라는 오류 메시지가 나타납니다.

onCellClick 이벤트의 분할되지 않은 레코드를 보여주는 경고를 보내면 예상 한 데이터가 표시됩니다.

나는 명백한 것을 놓치고 있습니다. 당신이 제공 할 수있는 어떤 방향으로도 감사 할 것입니다.

1) 실제로 분할 기록이

onCellClick : function(value, record, cell, row, colNO, rowNO, columnObj, grid){ 
    if (record.length) { 
     var recordSplit = record.split(","); 
     if (recordSplit.length > 1) { 
      alert("Participant is " + recordSplit[1]); 
     } 
    } 
} 
+1

레코드를 검사하십시오. 문자열이 아닌 경우 현재 유형을 분류하므로 분리 할 수 ​​없습니다. – totten

+0

Enes가 언급했듯이, 만약 당신이 그것을 갈라 놓을 수 있다면 여전히 2 순위에 가치가 없을 것입니다. –

답변

0

두 가지 검사를 수행한다 "Object doesn't support this property or method"은 문자열이 아닌 무언가에 .split을 호출하려고 시도하는 것이 좋습니다.

추가 조사시
if (typeof record !== 'string') { 
    throw new Error('You must pass a string as the record to onCellClick!'); 
} else { 
    var recordCurrent = record; 
    var recordSplit = recordCurrent.split(","); 
    alert("Participant is " + recordSplit[1]); 
} 

, Sigma grid documentationrecord 매개 변수의 유형이 Object 또는 Array하지 String 것을 말한다 :

당신은 당신이 그들과 함께 작업하기 전에 매개 변수가 예상 유형 있는지 확인해야한다.

0

받은 오류 하나 이상의 개체가있는 기록

2) 그건 거기 :

+0

고맙습니다. 참으로 대상이었습니다. var str = ""+ obj;를 사용하여 문자열로 변환합니다. 문제를 해결했다. 다시 감사합니다. – hwilliams

+0

@hwilliams 환영합니다. 그 답이 도움이되고 비슷한 문제를 가진 다른 사람들을 도울 것이라고 생각한다면 [답변을 받아 들여야합니다] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer- 작업). – jbabey