我一直在使用dgrid的OnDemandGrid与dojo.store.JsonRest在一个颠簸的开始之后相当成功,但是实现缓存时发现了一个小问题:如果我对我的触控板进行了长时间的扫描(即我在非常科学地滚动“漫长的路径” “)然后向后滚动,dgrid似乎对我所处的位置感到困惑。例如,假设我在第1609行附近,然后向下滑动,发现自己正在看第500行。如果我向上滚动回到顶部,我会发现行的ID可能看起来像这样1609,1608,1607 ,503,502,501,500 ...如果我向下滚动父亲,它将收到缺少的行499,498,497,1606,1605等。
var store = Observable(Cache(JsonRest({
target: "/cgi-bin/safari/safari_retrv.pl?action=front&format=json",
sortParam: "sort",
idProperty: "queryId"
}),Memory()));
var grid = new declare([OnDemandGrid, Keyboard, Selection, DijitRegistry])({
store: store,
query: {aid: "1604" },
bufferRows: 40,
loadingMessage: "Loading...",
columns: {
aid: "AID",
title: "Title",
poster: "Poster",
postTime: "Posting Date",
commentCount: "Comments"
},
}, "grid");
即使商店只是没有缓存存储的JsonRest,也会出现问题。