【发布时间】:2014-04-24 06:25:36
【问题描述】:
编辑
事实证明,商店不能有重复的 ID。当我删除此字段时,所有记录显示 - 这意味着网格不尊重pageSize
我在让我的所有商店记录显示在我的网格中时遇到问题。数据从 JSON 请求中正确返回,并且分页工具栏的行为正确。
这是我的商店:
var store = Ext.create('Ext.data.Store', {
storeId : 'resultsetstore',
autoLoad : false,
model : model,
pageSize : itemsPerPage, // 3
proxy: {
type : 'ajaxwithpayload', //custom ajax proxy to read 'jsonData'
url : 'MCApp',
jsonData: searchquery,
reader: {
type : 'json',
root : 'elements'
}
}
});
我在这里加载store,返回所有正确的结果:
store.load({
params: { start: 0, limit: itemsPerPage },
callback : function(records, operation, success) {
if(success) {
mainresponse = operation.response.responseText;
if( mainresponse.length == 0 ){
alert('No results returned');
return;
}
var jsonResponse = Ext.JSON.decode(mainresponse);
}
else {
alert('Search Failed: Could not reach the server');
}
最后,一个带有pagingtoolbar的简单网格:
var grid = Ext.create('Ext.grid.Panel', {
title: 'Test Data',
store: store,
columns: [{
text: 'Technical Name',
dataIndex: 'tech'
}, {
text: 'ID',
dataIndex: 'element.id'
}, {
text: 'Name',
dataIndex: 'name',
mapping: 'element.name'
}, {
text: 'View',
dataIndex: 'view'
}, {
text: 'Description',
dataIndex: 'description'
}],
dockedItems: [{
xtype: 'pagingtoolbar',
store: store,
pageSize: itemsPerPage,
dock: 'bottom',
displayInfo: true
}],
renderTo: Ext.getBody()
});
这里的问题是,并非我的所有结果都加载到网格中。似乎当遇到重复的 ID 时,它会缩短结果。这可能不是问题,只是我的猜测
在我的日志中,我看到了我需要返回的所有数据。在下图中,我应该有 3 行 具有相同的Element ID 001,但是只显示了一个:
要注意的另一件事是,当我单击分页工具栏上的下一步按钮时,结果不会改变,并且它在我的控制台上也显示为 POST。我不确定它是否应该这样做或者是 GET?
我用闪电来展示震惊这不起作用
有什么想法吗?
【问题讨论】:
-
重复的 ID 绝对是不是所有记录都显示的原因。在继续之前解决这个问题。
-
我必须找到一种解决方法,因为我有数百条 ID 相同但关联数据不同的记录,它们都需要显示在网格上。
-
找到任何解决方法?我面临同样的问题。紧急!!!
标签: extjs