尝试使用我的json存储构建动态网格,但由于某种原因存在范围约束,我猜它是dgrid / store实现的一部分,但是我应该向下滚动网格并从dgrid的示例中获得更多结果站点。
我会在这里放一些代码。首先,我尝试在我的代码中非常模块化,所以我有一个文件来获取我的商店(content.js),一个构建我的网格(gridlayout.js)和main.js的文件(创建我的实例并传递我的商店)。
content.js
define([
"dojo/_base/xhr",
"dojo/store/Memory",
"dojo/store/JsonRest",
"dojo/store/Cache"
],
function(
xhr,
Memory,
JsonRest,
Cache
){
var contentMemoryStore = new Memory();
var contentJsonRestStore = new JsonRest({target: "http://dev.mpact.tv:30087/rest/contenus/"});
contentStore = new Cache(contentJsonRestStore, contentMemoryStore);
return contentStore;
});
GridLayout.js
define([
"dojo/_base/declare",
"dijit/_WidgetBase",
"dgrid/OnDemandGrid",
"dgrid/Keyboard",
"dgrid/Selection",
"dgrid/extensions/ColumnHider",
"dgrid/editor",
], function(
declare,
_WidgetBase,
Grid,
Keyboard,
Selection,
Hider,
editor
){
return declare([Grid, Keyboard, Selection, Hider], {
columns: {
selected: editor({
label: " ",
autoSave: true,
sortable: false
}, "checkbox"),
nom: "Name",
autodelete: "Auto-delete",
groupe_id: "Groupe ID",
global: "Global",
date: "Date",
duree: "Lenght",
description: "Description",
fichier: "Filename",
pleinecran: "Fullscreen",
repertoire: "Folder",
taille: "Size",
expiration: "Expired",
id: "id",
catergorie: "Category",
brouillon: "Example"
},
});
});
和我的 main.js :
var gridLayout = new GridLayout({}, "placeholder");
gridLayout.set("store", contentStore);
到目前为止,我只有25个结果,如果我向下滚动,我就不会得到其余的项目。
答案 0 :(得分:1)
浏览器中的答案显示项目0-24 / 25。这意味着服务器端的项目总数为25.因此,网格不会尝试获取更多内容。
如果它返回0-24 / 1000,则滚动时会有多个调用。
所以我认为您应该检查服务器端为什么它只返回25作为总项目数。
请检查:http://dojotoolkit.org/reference-guide/1.7/dojo/store/JsonRest.html#id7