在easyui多页面跳转时,有时需要记住当前页的搜索条件,当前页码,那么如何实现呢?
easyui form 与 sessionStorage
初始化不设置url,避免多次加载
datagrid = $('#datagrid').datagrid({
//url : '${app}/carElectronicContract/ElectronicContracts',
title : '',
pagination : true,
...
});
页面加载完成 判断 sessionStorage是否有值,并设置datagrid的url, load或reload数据
var fdata=sessionStorage.getItem('fdata');
datagrid.datagrid('options').url ='${app}/carElectronicContract/ElectronicContracts';
//console.log(fdata);
if(fdata!=null){
console.log('------------');
console.log(fdata);
fdata = JSON.parse(fdata);
$('#searchForm').form('load',fdata);
datagrid.datagrid('reload',fdata);
}else{
datagrid.datagrid('load');
}
form提交时设置 sessionStorage
var fdata=serializeObject($("#searchForm"));
console.log(fdata);
console.log(fdata.transStatus);
sessionStorage.setItem('fdata', JSON.stringify(fdata));
datagrid.datagrid('load',serializeObject($("#searchForm")));
datagrid.datagrid('clearSelections');
datagrid.datagrid('clearChecked');
form reset 清空表单并 reload
$('#searchForm').form('reset');
datagrid.datagrid('reload',serializeObject($("#searchForm")));
sessionStorage.removeItem('fdata');
/* sessionStorage.removeItem('fdata');
window.location.reload(); */
记住页码
datagrid{
onLoadSuccess: function(){
var options = $(this).datagrid("getPager").data("pagination").options;
var page = options.pageNumber;
// fdata.rows = options.pageSize;
sessionStorage.setItem('page', page);
sessionStorage.setItem('pageSize', options.pageSize);
},
}
console.log('------------');
console.log(fdata);
fdata = JSON.parse(fdata);
$('#searchForm').form('load',fdata);
var page=sessionStorage.getItem('page');
var pageSize=sessionStorage.getItem('pageSize');
console.log('page:'+page);
if(page!=null){
page=parseInt(page);
}
datagrid.datagrid({queryParams:fdata, pageNumber: page ,pageSize: pageSize});
//datagrid.datagrid('options').pageNumber = fdata.page;
//datagrid.datagrid('load',fdata);
//datagrid.datagrid('gotoPage', 3);
初始刷新
var url=window.location.href+'';
console.log(url);
if(url.indexOf('load=true')>0){
sessionStorage.removeItem('fdata');
sessionStorage.removeItem('page');
sessionStorage.removeItem('pageSize');
}