编辑
事实证明,商店不能有重复的It。当我删除这个字段时,所有记录都会显示--这意味着网格不尊重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.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
我用闪电向大家展示了令人震惊的--这是不起作用的
有什么想法吗?
发布于 2014-03-18 16:39:22
需要注意的是,服务器负责分页,而不是ExtJS。服务器不能返回所有行,而只能返回当前页的行。在使客户端工作时,服务器端代码必须考虑参数page、start和limit。
我认为,除了重复的ids,是您的问题的主要原因。这尤其是为什么在第一页和第二页上看到相同的数据的原因:
ExtJs向服务器请求第1页的数据,并获取所有行。稍后,ExtJs向服务器请求第2页的数据,并再次获取相同的行。这行不通。
发布于 2015-12-02 10:00:53
当您在Model的字段数组中将name属性指定为"id“时,可能会出现这种情况。试着改变这种状况。
https://stackoverflow.com/questions/22481633
复制相似问题