Store不会加载到gridpanel内部 - ExtJS

时间:2013-12-16 16:18:25

标签: javascript extjs extjs4 store gridpanel

iO! 我知道这个问题已经被问了很多次,但我仍然无法弄清楚我的问题来自哪里。 我只是尝试从PostGreSQL数据库加载数据并将其显示在ExtJS网格中。

我的商店:

var getreports = Ext.create('Ext.data.JsonStore', {
    // store configs
    autoDestroy: true,
    proxy: {
        type: 'ajax',
        url: 'http://129.129.129.15:81/getlistreports',
        reader: {
            type: 'json',
            idProperty: 'id_consult',
            totalProperty: 'total'
        }
    },
    remoteSort: false,
    pageSize: 50,
});

我的网格(嵌入在边框布局中):

            {
            region: 'center',
            //xtype: 'container',
            items: [
            Ext.create('Ext.grid.Panel', {
            features: [filters],
            store: getreports,
            emptyText: 'Aucune donnée n\'a été trouvée',
            columns: [
                { 
                text: 'Nom',
                dataIndex: 'id_consult', 
                filter: 
                    { 
                    type: 'string',
                    }, 
                },
                { 
                text: 'génération',
                dataIndex: 'typeentity',
                flex: 1,
                filter: 
                    { 
                    type: 'string',
                    }, 
                },
                { 
                text: 'Etat',
                dataIndex: 'typeref',
                filter: 
                    { 
                    type: 'list',
                    }, 
                },
            ]
            }),
            ]
            },

和它应该阅读的JSON。我已经制作了在控制台日志中显示AJAX调用内容的监听器,它显示了一些东西,所以我猜问题不是来自它。

[{"id_consult":"1","typeref":"Territorial","typeentity":"BH"},
{"id_consult":"2","typeref":"Territorial","typeentity":"BOOS"},
{"id_consult":"3","typeref":"Territorial","typeentity":"BOB"}]

最后:

getreports.load(); 

在函数的末尾

加载页面时,它显示加载“弹出”,但后来没有显示任何内容,并显示我已声明的EmptyText。
另请注意,当我在网格中声明商店时,过滤器不起作用(如果我将其删除,我可以看到它们)。

有关此的任何提示:)?

2 个答案:

答案 0 :(得分:1)

你的列定义很乱(许多尾随逗号),但这不是最终的问题。网格未加载任何数据,因为存储在加载数据后未创建任何记录。您需要在商店定义中添加fields配置,或创建可应用于商店的model定义。执行此操作后,您将看到它有效(请参阅下面链接的示例)

fields: ['id_consult', 'typeref', 'typeentity'],

您的代码的实时示例:https://fiddle.sencha.com/#fiddle/282

答案 1 :(得分:0)

我认为你的列定义错了。尝试将列更改为以下内容:

columns: [
{
    header: 'Nom',
    dataIndex: 'id_consult',
    flex: 1
},
...
]