DGRID / DSTORE / REST-如何添加其他查询参数以要求



我使用dojo jsonreststore的dgrid(ondemandgrid)toghether使用了旧版本。

我的网页有一些输入字段(例如日期,名称等)。更改了其中一个字段后,我更改了网格的查询:

grid.setquery({y:Year,M:month,l:name1,d:flag,e:name2});

和json请求就像?y = 2015& m = 5& l = test1& ....

我了解到,使用DGRID的实际版本这不再可能。

使用DGRID/DSTORE可以使用Simelar。据我了解,过滤似乎不是一个选择,而这仅在客户端,我无法加载所有数据。我需要一些动态参数来过滤服务器上的数据。

dstore等效于dojo/store/JsonRestdstore/Rest(但是,如果您在服务器上没有合规的REST API,则可能需要使用dstore/Request)。

dstore的filter方法允许您进行任意查询。它返回使用存储的任何施加过滤器的集合,以便在调用fetchfetchRange时将其包括在内。

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中,您通常会单个时间设置网格的store属性,并在需要过滤数据时调用setQuery,使用DGRID 0.4,您可以在需要更新过滤时设置collection属性。DSTORE的Request商店允许您配置rangesort过滤的参数名称。

相关内容

  • 没有找到相关文章

最新更新