【发布时间】:2014-11-07 00:45:01
【问题描述】:
我使用 OnDemandGrid 和 JsonRest 存储从 RESTful API 检索数据并将其显示在表上。该表相当复杂,并且使用了所有 JsonRest CRUD 方法。 这是我正在使用的基本结构:
JsonRest:
...
var restStore = Observable(Cache(JsonRest({
target:"source",
idProperty: "id"
}), Memory()));
...
OnDemandGrid:
...
var grid = new (declare([OnDemandGrid, Selection, Keyboard]))({
sort: "name",
store: restStore,
columns: [
{field: "name", label: "Name"},
{field: "state", label: "State"},
{field: "city", label: "city"}
],
loadingMessage: "Loading data...",
noDataMessage: "No data"
}, "grid");
grid.startup();
...
我想在客户端过滤数据而不发送 HTTP 请求。你能给我一些解决这个问题的想法吗?
自己的研究:
Dgrid 教程基于一个事实,即一切都依赖于 dojo-store。
当 dgrid 与 store 交互时,所有分页、过滤和排序职责都落在 store 上,而不是 grid。 ...当遇到数据呈现问题时,请始终检查存储实现(和后端服务,如果适用)是否按预期执行。
所以这意味着我必须在商店方面解决这个问题。我想,我必须扩展 JsonRest 商店的 QueryResults 但我一直在碰壁。
我也想过查询缓存 - 但我失去了 JsonRest...
【问题讨论】:
标签: dgrid dojo jsonreststore