滚动网格时,当您到达20个项目的末尾时,它不会触发更多项目的新请求
我正在使用Dojo版本1.10.4。我创建了一个TrackableRest商店
var TrackableRest = declare([Rest, Trackable]);
var interceptStore = new TrackableRest({
target: 'rest/intercepts/',
accepts: "application/json",
sortParam: 'sort',
rangeStartParam: 'offset',
rangeCountParam: 'limit',
headers:{
'Accept': "application/json",
'Content-Type':"application/json",
'charset':"UTF-8"
},
idProperty: 'id'
});
然后我创建了一个网格:
var grid = window.grid = new CustomGrid({
id: 'grid',
//sort: [{property:'ELNOT'},{property:'RF_AVG'}], // Initialize sort on last name, ascending
collection: interceptsStore,
sort: "id",
getBeforePut: false,
columns: getColumns(),
allowSelectAll: true,
loadingMessage: 'Loading data...',
noDataMessage: 'No results found.',
title: "All",
minRowsPerPage: 20,
maxRowsPerPage: 250
});
发送请求 http://localhost:8080/OlympiaMap/rest/intercepts/?sort=+id&offset=0&limit=20
并且响应包括标题Content-Range,其值为items = 0-20 / 606 和数据看起来像 enter image description here
答案 0 :(得分:0)
所以经过两天的等待后,我意识到即使你以所需的格式返回内容标题,它似乎正在使用你的响应总数,限制和偏移量中的值(或者你选择的开始和计数参数) )。例如,在我的响应标题中,我返回Content-Range,其值为“items 0-20 / 606”,但在实际响应中,我有一个包含20个项目且总共20个的items数组。当我对此值进行硬编码时(只是为了测试)匹配606值我开始看到虚拟滚动工作并发送请求增加开始和计数。像这样 第一页加载 http://localhost:8080/OlympiaMap/rest/intercepts/?sort=+id&offset=0&limit=20
滚动时 http://localhost:8080/OlympiaMap/rest/intercepts/?sort=+id&offset=20&limit=20
等等
这是由于缺少dstore和dgrid部分文档