easyui进阶-记住表单内容和datagrid页码

在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');
	}	 
0%