JS

2011-10-30 2 views
2

내선에 저장 내용을 교체 내가 작업 프로젝트에 대한 내선 JS을 선택해야하고, 여기에 내가 알아낼 수 없습니다 그것의 표면있어 간단한 문제입니다 : 여기JS

은 내 코드입니다 :

기본적으로 그리드에 기본값을 채우고 그 중 하나를 클릭 할 때마다 저장소의 데이터가 새 데이터로 바뀌면서 차례대로 그리드 패널을 다시 렌더링해야합니다. 그것은 작동하지만 하나의 일관된 문제가 있습니다.

요소를 클릭하면 교체 할 데이터 아래에 newData 값이 깜박이고 어떤 이유로 3 행이 표시됩니다 (첫 번째, 두 번째, 첫 번째 행). 다시. 또한 "Uncaught TypeError :이 줄에서 undefined의 internalId '속성을 읽을 수 없습니다. store.add (newData) 오류가 발생합니다.

어떤 원인 일 수 있습니까? Ext JS 4를 사용하고 있습니다. 감사합니다! Luka

답변

1

add 메서드는 레코드를 필요로하며 배열을 전달하고 있습니다. 상점 레코드 유형의 인스턴스를 작성하고 필요한만큼 레코드를 작성한 후 상점에 추가해야합니다.

var store=this.getStore();  
    var rt = store.recordType; 
    var p = new rt({ 
     InvoiceLineNum: '', 
     LineNumber:'', 
     ItemDescription: '', 
     Quantity: '', 
     UnitPrice: '', 
     UnitMeasure:'', 
     TotalAmount:'', 
     OrderDate:new Date() 

    }); 

    this.stopEditing(); 
    store.insert(count, p); 
    this.startEditing(count, 0); 
    this.markEditableCells(count); 

내가 여기에 삽입을 사용하지만 당신은 단지뿐만 아니라 추가 기능을 사용할 수 있습니다 : 여기

은 예입니다.

+2

Ext JS 4를 사용 중이며 문서에 따라이 작업을 수행 할 필요가 없습니다. http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data .Store-method-add. 또한, ext4에는 recordType이 없습니다. 그래도 답장을 보내 주셔서 감사합니다. – Lukich