ExtJS树没有填充代理商店

时间:2013-12-16 10:39:30

标签: extjs extjs4

这是我的树代码:

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'],树填充没有任何问题。任何人都可以指出问题是什么?

1 个答案:

答案 0 :(得分:0)

你的树面板的store config应该是Ext.data.TreeStore的实例,或者 - 如果你在MVC环境中(我假设你的类名) - 商店的名称(没有没有命名空间DHT.store)。

在任何情况下,请勿将商店包装在带方括号[]的数组中。

store: Ext.create('DHT.store.Categories')

store: 'Categories'