我有一个通过ObjectStore填充的增强型网格,而ObjectStore又通过JsonRest对象调用休息服务来填充。
数据正在被放入网格中,但我注意到两种奇怪的行为。
浏览分页网格的不同页面会显示与第1页相同的结果
排序根本不起作用(我使用的是嵌套排序)
我的网格和商店如下:
var myStore = new JsonRest (
{
target: "location/of/rest/service/with/params,
idProperty : "id"
});
var objStore = new ObjectStore ({ objectStore: myStore });
var layout = [[{layout stuff}];
grid = new EnhancedGrid({
id: 'griddles',
store: objectStore,
structure: layout,
......
plugins: {
indirectSelection: true,
pagination : {
pageSizes : [my page sizes],
description : true,
sizeSwitch : true,
pageStepper : true,
gotoButton : true,
defaultPageSize : 5,
maxPageStep : 10,
position: "bottom"
},
exporter: true
}},
"grid");
});
任何帮助将不胜感激;当我使用itemfilewriter填充静态数据时,它在分页和排序方面都可以正常工作。
答案 0 :(得分:0)
dojo/store/JsonRest
向服务器发送每个远程查询的请求,因此它自然依赖于服务器进行分页,排序和过滤。服务器负责解释JsonRest
的请求并做出相应的响应,而且听起来好像不是。
JsonRest
表示通过Range
标头请求的范围。例如,从开头(索引0)开始并请求10个项目的查询将转换为Range: items=0-9
,而从索引10开始请求10个项目将转换为Range: items=10-19
。
排序参数包含在查询字符串中,格式为sort(+fieldname)
用于升序,或sort(-fieldname
用于降序。如果要指定多个排序字段,则期望它们以逗号分隔(例如sort(+field1,-field2)
。如果在键值对中需要它,则可以在传递给{的arguments对象中指定sortParam
{1}},在这种情况下,查询字符串将包含JsonRest
之类的内容。您还可以通过yourSortParam=sort(...)
和+
自定义-
和ascendingPrefix
前缀
这些服务器期望记录在Reference Guide。
中