道场中的有状态服务器端过滤



我正在 dojo 1.10 版本的增强网格中进行服务器端过滤。在文档中明确提到使用 是有状态的财产。此外,如果我们使用 isStateful 属性,我们也需要使用 URL 参数,根据 文档是

当isServerSide和isStateful都为真时,如果store.url无法检索服务器URL,则可以在此处设置服务器URL。

我想知道这里是什么store.url?我 在其他网站上搜索过,我得到的url的另一个定义来自这里和这里

如果使用有状态,则这是发送命令的 URL。 默认为 store.url

任何人都可以提供一个简单的示例或演示来说明如何使用isStateful属性。我在这里很困惑。我们需要为此编写服务器端脚本吗?

require(['dojo/store/JsonRest',
'gridx/Grid',
'gridx/core/model/cache/Async',
'gridx/modules/SingleSort',
'gridx/modules/pagination/Pagination',
'gridx/modules/CellWidget',
'dijit/registry',
'gridx/modules/Bar',
'gridx/support/LinkPager',
'gridx/support/Summary',
'dojo/domReady!'],function(Store, Grid, Async, Sort, Pagination, CellWidget, registry, Bar, LinkPager, Summary){
var jsonStore = new Store({
idProperty: "id", target: <your url>,
query: function(query, options) {  
var request = {};              
/* Paging Params. */
if (grid==null) {   
/* null on first call to server. */
request.currentPage=0;
request.pageSize=DEFAULT_PAGE_SIZE;
} else {
request.currentPage=grid.pagination.currentPage();
request.pageSize=grid.pagination.pageSize();
if (request.pageSize==-1) {
/* Page size is -1 when 'ALL' records selected. Reset */
request.pageSize=DEFAULT_PAGE_SIZE;
}
}
/* Sorting Parameters. */
if (options.sort == null) {
/* null on first render. */
request.sortAttribute="id";
request.descending=false;
} else {
request.sortAttribute=options.sort[0].attribute;
request.descending=options.sort[0].descending;
}
var results = Store.prototype.query.call(this, request);   
return results;
}  
});
grid = new Grid({
cacheClass: Async,
store: jsonStore,
structure: <your column definition>,
barBottom: [{pluginClass: Summary, style: 'text-align: left;'},{pluginClass: LinkPager, style: 'text-align: right;'}],
modules:[Sort, Pagination, Bar, CellWidget]}); 
grid.pagination.setPageSize(DEFAULT_PAGE_SIZE);
registry.byId('gridDIV').set('content', grid);
grid.startup();
});

相关内容

最新更新