dstore 等效于dojo/store/JsonRest
is dstore/Rest
(但是,如果您在服务器上没有兼容的 REST API,则可能要使用dstore/Request
)。
dstore 的filter
方法允许您进行任意查询。它返回一个集合,其中存储了任何应用的过滤器,以便可以在任何时候fetch
或被fetchRange
调用时包含它们。
var store = new Request({ target: '/path/to/service' });
var filteredCollection = store.filter({ y: 2015, m: 5 });
filteredCollection.fetch();
将导致以下 HTTP 请求:
/path/to/service?y=2015&m=5
要在 dgrid 0.4 中使用此功能,您可以将过滤后的集合分配给网格实例(并且 dgrid 将fetch/fetchRange
根据需要处理调用):
grid.set('collection', store.filter({y: year, m: month}));
dgrid 0.4 和 dstore 引入了网格与存储交互方式的重大转变。在 dgrid 0.3 中,网格在管理存储的查询状态方面发挥了更加积极的作用——在 dgrid 0.4 中,情况不再如此(因此删除了该setQuery
方法)。在 dgrid 0.4 中,由网格外部的代码来实现与过滤存储数据相关的逻辑。而在 dgrid 0.3 中,您通常只设置store
一次网格的属性并setQuery
在需要过滤数据时调用,而在 dgrid 0.4 中,您可以在collection
需要更新过滤的任何时候设置属性。dstore 的Request
存储允许您配置参数名称range
和sort
过滤。