我正在尝试使用Dojo JSONREST的增强型网格,但我遇到了一些问题。 我一直在查找一些例子,但无法弄清楚如何做我需要的。
在下面的代码中,我的rest服务有两个参数,对服务的查询有效。 问题是,当调用grid.startup()时,它似乎再次调用Rest服务,因为没有传递参数,其余服务都会丢失。我在这做错了什么?
还有什么方法可以更新到商店,这样只包含查询结果?,这样当网格出现时它只包含这些值?
感谢任何帮助或指示..
ready(function(){
var grid;
var store = new JsonRest({
target: "rest/search"
});
store.query({term: "test", category: "category"},
{
start: 10,
count: 10,
}).then(function(data){
// how do i update store with queried results?
});
dataStore = new ObjectStore({ objectStore: store });
/*set up layout*/
var layout = [[
{'name': 'Name', 'field': 'col1', noresize: true, 'width': '100%'},
]];
/*create a new grid:*/
grid = new EnhancedGrid({
id: 'grid',
store: dataStore,
structure: layout,
selectable: true,
selector: false,
selectionMode: 'none',
escapeHTMLInData: false,
autoHeight:true
}, document.createElement('div'));
grid.startup();
}
答案 0 :(得分:1)
您是否尝试过设置网格的查询参数? A link to the docs。 And a link to an example.
通过查看问题中的代码,网格似乎应该显示数据块/页面an example using the pagination plugin for the grid。
The filter plugin也可能对你感兴趣。
答案 1 :(得分:-1)
定义新网格时,必须将其传递给dojo:
/*create a new grid:*/
grid = new EnhancedGrid({
id: 'grid',
store: dataStore,
structure: layout,
selectable: true,
selector: false,
selectionMode: 'none',
escapeHTMLInData: false,
autoHeight:true
}, document.createElement('div'));
/*append the new grid to the div*/
dojo.byId("gridDiv").appendChild(grid.domNode);
grid.startup();