2012-01-14 3 views
1

그리드 (Ext.grid.Panel)를 만들고 데이터로 채우려고합니다. 그러나 무언가가 잘못되어 그리드가 데이터없이 빈 행을 표시합니다.그리드에 빈 행이 표시됩니다.

모델은 다음과 같습니다

Ext.define('Order', { 
    extend: 'Ext.data.Model', 
    fields: [ 
     { 
      name: 'id', 
      type: 'int' 
     }, 
     { 
      id: 'companyId', 
      type: 'int' 
     }, 
     { 
      id: 'amount', 
      type: 'int' 
     }, 
     { 
      id: 'dealDate', 
      type: 'date' 
     }, 
     { 
      id: 'complete', 
      type: 'int' //boolean imitation 
     } 
    ], 
    idProperty: 'id' 
}); 

그리드 & 스토어 코드는 다음과 같습니다 서버에서

var orders = Ext.create('Ext.data.Store', { 
    model: 'Order', 
    proxy: Ext.create('Ext.data.proxy.Ajax', { 
     url: 'service/orders-data.php?', 
     reader: Ext.create('Ext.data.reader.Json', { 
      root: 'orders' 
     }) 
    }), 
    sorters: [{ 
     property: 'name', 
     direction: 'ASC' 
    }] 
}); 
orders.load(); 

var ordersGrid = Ext.create('Ext.grid.Panel', { 
    width: 400, 
    height: 300, 
    store: orders, 
    columns: [ 
     { 
      text: 'Amount', 
      dataIndex: 'amount', 
      width: 120 
     }, 
     { 
      text: 'Deal date', 
      dataIndex: 'dealDate', 
      width: 120 
     }, 
     { 
      text: 'Complete', 
      dataIndex: 'complete', 
      width: 120 
     } 
    ] 
}); 

JSON 응답은 다음과 같습니다

{ 
"orders":[ 
    { 
     "id":1, 
     "amount":5000, 
     "dealDate":"2012-01-05", 
     "complete":0 
    }, 
    { 
     "id":2, 
     "amount":6850, 
     "dealDate":"2012-01-07", 
     "complete":0 
    }, 
    { 
     "id":5, 
     "amount":7400, 
     "dealDate":"2012-01-09", 
     "complete":0 
    } 
] 
} 

이유는 무엇입니까 그리드 디스플레이 빈 행?

+0

어떤 열이 비어? 모두들? –

답변

1

모든 모델의 필드하지만 대신 '이름'을 사용한다 여기서 첫 번째는 'ID'속성으로 선언되고있다 :

{ 
    name: 'id', 
    type: 'int' 
}, 
{ 
    name: 'companyId', 
    type: 'int' 
}, 
{ 
    name: 'amount', 
    type: 'int' 
}, 
{ 
    name: 'dealDate', 
    type: 'date' 
}, 
{ 
    name: 'complete', 
    type: 'int' //boolean imitation 
} 
+0

감사합니다, 올빼미. 나는 진짜로 장님 인이 실수를 그리워하는 것 같았다 :) – Artem