我在dojo 1.10版本的增强型网格中进行服务器端过滤。文件中Here明确提到要使用 isStateful属性。另外,如果我们使用isStateful属性,我们还需要使用URL参数,根据 文档是
当isServerSide和isStateful都为true时,如果store.url无法检索到它,则可以设置服务器URL。
我想知道 store.url 的内容是什么?一世 在其他网站上搜索过,我得到的其他网址定义来自here和here
如果使用有状态,这是发送命令的网址。默认为store.url
任何人都可以提供有关如何使用isStateful属性的简单示例或演示。我在这里很困惑。我们需要为此设置服务器端脚本吗?
答案 0 :(得分:1)
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();
});