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。
另请注意,当我在网格中声明商店时,过滤器不起作用(如果我将其删除,我可以看到它们)。
有关此的任何提示:)?
答案 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
},
...
]