2012-07-17 2 views
0

이 문제와 관련된 수많은 게시물을 살펴 봤지만 어떤 이유로 든 여전히 문제가 있습니다. 심지어 최소한의 데이터로 패널을 만들려고 시도했지만 아직 운이 없습니다. 이게 내 뇌를 정말로 두드리고있다.ExtJS4 JSON 데이터가 Ext.grid.Panel에 채워지지 않음

Ext.onReady(function() { 
    var proxy = new Ext.data.HttpProxy({ 
     url: path/to/app 
     api: { 
      load: path/to/app 
     } 
    }); 


    var reader = new Ext.data.JsonReader({ 
     successProperty : 'success', 
     idProperty  : 'id', 
     root   : 'data', 
     fields   : [{name:'id', type: 'int'}] 
    }); 

    var writer = new Ext.data.JsonWriter({ 
     encode: false, 
     writeAllFields: true 
    }); 

    var store = new Ext.data.Store({ 
     autoLoad : true, 
     autoSync : true, 
     root  : 'data', 
     restful : true, 
     fields : [{name: 'id'}], 
     proxy : proxy, 
     reader : reader, 
     writer : writer 
    }); 

    Ext.create('Ext.grid.Panel', { 
     renderTo : 'gadgetview', 
     store : store, 
     columns : [{ 
         header : 'ID', 
         text  : 'ID', 
         dataIndex : 'id', 
         width  : 50 
        }], 
     height : 200, 
     width : 450, 
     title : 'Example' 
    }); 
}); 

서버의 응답은 다음과 같습니다 : 나는 그것이 명백 뭔가가 있다고 바라고 있어요

{"data":[{"id":1}], "success":true} 

아래는 내가 함께 일하고 있어요 코드입니다.

답변

1

구성이 엉망입니다. 리더/라이터는 프록시의 속성입니다. 루트는 독자의 속성입니다.

Ext.onReady(function() { 

    var store = new Ext.data.Store({ 
     autoLoad: true, 
     fields: [{ 
      name: 'id' 
     }], 
     proxy: { 
      type: 'ajax', 
      url: 'myurl', 
      reader: { 
       type: 'json', 
       root: 'data' 
      } 
     } 
    }); 

    Ext.create('Ext.grid.Panel', { 
     renderTo: 'gadgetview', 
     store: store, 
     columns: [{ 
      header: 'ID', 
      text: 'ID', 
      dataIndex: 'id', 
      width: 50 
     }], 
     height: 200, 
     width: 450, 
     title: 'Example' 
    }); 
}); 
+0

에반 - 도움이 많이 받아 들여지고 내 문제를 해결하는 데 도움이되었습니다. –

관련 문제