这是我的树代码:
var store = Ext.create('Ext.data.TreeStore', {
root: {
expanded: true,
children: [
{
text: "Group A",
expanded: true,
leaf: false,
children: [{
text: 'Harry',
leaf: true
},
{
text: 'Steven',
leaf: true
}]
},
{
text: "Group B",
expanded: true,
leaf: false,
children: [{
text: 'Tony',
leaf: true
},
{
text: 'Jason',
leaf: true
}]
}
]
}
});
Ext.define('DHT.view.Category.CategoryList', {
extend: 'Ext.tree.Panel',
alias: 'widget.treeList',
width: 200,
height: 400,
//store: store,
store: ['DHT.store.Categories'],
rootVisible: false
});
商店代码:
Ext.define('DHT.store.Categories', {
extend: 'Ext.data.Store',
model: 'DHT.model.Category',
autoLoad: true,
autoSync: true,
proxy: {
type: 'ajax',
url: 'http://localhost:52984/ExtJsRestfulService.svc/QuestionTypes',
reader:
{
type: 'json',
root: 'description'
}
}
});
型号代码:
Ext.define('DHT.model.Category', {
extend: 'Ext.data.Model',
fields: [{
name: 'QuestionTypeID',
dataType: 'int'
},
{
name: 'Description',
dataType: 'string'
},
{
name: 'Deleted',
dataType: 'int'
},
{
name: 'ChangeDate',
dataType: 'date'
},
{
name: 'ChangeUser',
dataType: 'string'
},
{
name: 'Visible',
dataType: 'bool'
},
{
name: 'SortOrder',
dataType: 'int'
}],
idProperty: 'QuestionTypeID'
});
我无法以这种方式创建树。它给了我一个错误: TypeError:store.getRootNode不是函数。如果我使用内联数据创建树,即替换// store:store,store:['DHT.store.Categories'],使用store:store,// store:['DHT.store.Categories'],树填充没有任何问题。任何人都可以指出问题是什么?
答案 0 :(得分:0)
你的树面板的store config应该是Ext.data.TreeStore
的实例,或者 - 如果你在MVC环境中(我假设你的类名) - 商店的名称(没有没有命名空间DHT.store
)。
在任何情况下,请勿将商店包装在带方括号[]
的数组中。
store: Ext.create('DHT.store.Categories')
或
store: 'Categories'