2014-09-23 2 views
0

을 보여주지 그리드의 :스토어로드, 그리드는 행 렌더링하지만, 데이터가 여기에

여기
Ext.define('Customer_Portal_UI.view.BulkUpdateResultWindow.ResultGrid', { 
    extend: 'Ext.grid.Panel', 
    alias: 'widget.ResultGrid', 
    itemId: 'ResultGrid', 
    columns: [ 
     { text: 'Participant', mapping: 'firstname' }, 
     { text: 'Success', mapping: 'success' }, 
     { text: 'Status', mapping: 'statusMessage' } 
    ], 
    viewConfig: { itemId: 'ResultGridView' }, 
    initComponent: function() { 
     this.store = Ext.create('Ext.data.ArrayStore', { 
      storeId: 'ResultGridStore', 
      idProperty: 'contactid', 
      fields: [ 
       'firstname', 
       'success', 
       'statusMessage', 
       'contactid' 
      ] 
     }); 

     this.callParent(); 

    } 
}); 

내가 시도를로드 할 방법은 다음과 같습니다

내가 루프 그 후 콘솔에 가면
var grid = this.Utils.getCmp('gridpanel[itemId=ResultGrid]'); 
var store = grid.getStore(); 
var response = Ext.JSON.decode(result.responseText); 

for (var i = 0; i < response.length; i++) { 
    store.add({ firstname: response[i].contact.firstname, success: response[i].success, statusMessage: response[i].statusMessage, contactid: response[i].contact.contactid }); 
} 

상점이로드됩니다. 그리드에서 getStore()으로 전화하면 해당 상점에도 데이터가 포함됩니다.

그러나 그리드는 올바른 수의 줄 (응답으로 일치하는 레코드 수)으로 렌더링되지만 그 줄은 비어 있습니다.

아이디어가 있으십니까?

감사합니다.

답변

0

열에는 mapping 속성이 없습니다. dataIndex을 사용하십시오.

+0

와우. 이것은 나쁜 날이었습니다. 내 애플 리케이션에 수십 개의 그리드가 있고 그것을 발견 할 수 없었다. 감사. –