2013-08-22 152 views
1

你好,我有存儲綁定到組合框。當我爲組合框添加值時,它開始加載數據。所有的json數據都被正確地返回,但沒有記錄被加載存儲。有什麼建議麼?Extjs商店不加載數據

我的店是這樣的:

CheckersStore = Ext.extend(Ext.data.JsonStore, { 
    constructor : function(cfg) { 
     cfg = cfg || {}; 
     CheckersStore.superclass.constructor.call(this, Ext.apply({ 
      storeId : 'CheckersStore', 
      api :{ 
       read : 'checker/getPagedList' 
      }, 
      baseParams : { 
       organizationId : 0 
      }, 
      idProperty : 'userName', 
      fields : [ { 
       mapping : 'userName', 
       name : 'value' 
      }, { 
       mapping : 'fullName', 
       name : 'label' 
      }, { 
       name : 'organizationId', 
       type : 'int' 
      } ] 
     }, cfg)); 
    } 
}); 
new CheckersStore(); 

返回的JSON數據是這樣的:

{ 
"start" : 0, 
"limit" : 20, 
"total" : 48, 
"data" : [{ 
     "userName" : "KUUJOMAR", 
     "fullName" : "Kuujo, Marketta Päivi", 
     "organizationId" : 108 
    }, { 
     "userName" : "KUUKKKAL", 
     "fullName" : "Kuukka, Kalle", 
     "organizationId" : 108 
    } 
], 
"organizationId" : 108 

}

即使我只是試圖調用store.load()具有相同的參數,同樣的問題也出現。

回答

1

試着擺脫場內的mapping屬性。然後在商店reader內添加root: 'data'

reader: { 
    root: 'data', 
    type: 'json' 
} 

和領域:

fields : [{ 
    name : 'value' 
}, { 
    name : 'label' 
}, { 
    name : 'organizationId', 
    type : 'int' 
}] 
+0

謝謝,你救了我的命的男人 – kuldarim

+0

我需要映射屬性我懶加載組合,才能正確顯示字段值 – kuldarim