0
아래의 구성으로 트리 패널에 json 데이터를 채울 수 없습니다.JSON 데이터가 extjs 4.2.x의 트리 패널에 채워지지 않습니다.
서버에서 저장소를로드 한 후 콘솔 로그의 레코드를 볼 수 없습니다.
특정 json 구조가 서버에서 전송되어야합니까?
구성이 누락 되었습니까? 다음은
은 내가 사용하고있는 설정이다모델
Ext.define('nsoapp.model.nso.Client', {
extend: 'Ext.data.Model',
requires: [
'Ext.data.Field'
],
fields: [
{
name: 'jsxid'
},
{
name: 'name'
},
{
name: 'type'
},
{
name: 'countryId'
},
{
name: 'contact'
},
{
name: 'email'
}
]
});
STORE
Ext.define('nsoapp.store.nso.Client', {
extend: 'Ext.data.TreeStore',
requires: [
'nsoapp.model.nso.Client',
'Ext.data.proxy.Ajax',
'Ext.data.reader.Json'
],
constructor: function(cfg) {
var me = this;
cfg = cfg || {};
me.callParent([Ext.apply({
model: 'nsoapp.model.nso.Client',
storeId: 'nso.Client',
defaultRootProperty: 'record',
proxy: {
type: 'ajax',
url: '/client/',
reader: {
type: 'json',
root: 'populateClientRes'
}
}
}, cfg)]);
}
});
트리 패널
,xtype: 'treepanel',
flex: 1,
margins: '0 0 3 0',
itemId: 'treeClient',
overlapHeader: false,
title: 'Clients',
titleCollapse: false,
animate: true,
displayField: 'name',
rootVisible: false,
viewConfig: {
rootVisible: false
}
는 내가 나무 패널에 나무 저장소를 결합하고 컨트롤러에서
var storeClient=this.getStore('nso.ordermanagement.clientcustomization.Client');
storeClient.load({
callback: function(records, operation, success) {
var treeClient=Ext.ComponentQuery.query("#treeClient")[0];
treeClient.bindStore(storeClient);
}
});
JSON 데이터
{
"populateClientRes":{
"record":[
{
"name":"A_KPI",
"type":"CLIENT",
"jsxid":"14487361",
"countryId":"484",
"contact":"34434334",
"email":"",
"record":[
{
"name":"Products",
"value":"1",
"type":"PRODUCT"
},
{
"name":"Stores",
"value":"1",
"type":"STORE"
}
]
},
{
"name":"aCCStudyTest",
"type":"CLIENT",
"jsxid":"14425073",
"countryId":"484",
"contact":"1234567890",
"email":"",
"record":[
{
"name":"Products",
"value":"1",
"type":"PRODUCT"
},
{
"name":"Stores",
"value":"1",
"type":"STORE"
}
]
}
]
}
}
는
감사 보스 :) 찾을 수 있습니다. 나는 레코드 기록으로 이름을 지키는 것이 도움이된다고 생각했습니다. 그러나 나는 그것을 단지 아이들로 줄 수밖에 없습니다. – Ashish
문제 없음;) 내가 이해할 수없는 또 다른 이유는 '드문 방식'으로 상점을 묶는 이유입니다. * store : "클라이언트"*를 treepanel 구성에 추가하면 괜찮습니다. 하지만 작동하는 한 괜찮습니다 =) – harry
구성에서 저장소를 바인드하면 트리 패널이 자동으로 서버에서 렌더링 할 때 데이터를 얻으려고하므로 필요하지 않습니다. 그게 컨트롤러에서 이것을 묶는 이유입니다.어떤 방법으로 설정을 저장하고 rootVisible을 선택 취소 할 수 있습니까? – Ashish