datagrid可以实现服务器上分页,但是不管怎样分页都要到数据库里查一次,
现在我想有的少量数据把在缓存到session中,分页直接从session中取,但有时还要从数据库里获取新的信息,所以我想把这个功能放在
datagrid刷新按钮上,要如何去拦截刷新按钮的方法的事件监听。这样就可以点击刷新按钮时去数据库里查,没有点击就要去session中查。
我的方法是:
在jquery-easyui源码中修改,增加一个事件监听,在2423行中
$("a[icon=pagination-load]",_155).bind("click",_157(_152));
$("a[icon=pagination-loading]",_155).bind("click",_157(_152));
这两个一个是刷新按钮,一个是正在刷新的按钮,分别在它们前面加一个事件监听,如:
$("a[icon=pagination-load]",_155).bind("click",function(_152){onLoadPrev(_152)});
$("a[icon=pagination-load]",_155).bind("click",_157(_152));
$("a[icon=pagination-loading]",_155).bind("click",function(_152){onLoadPrev(_152)});
$("a[icon=pagination-loading]",_155).bind("click",_157(_152));
//这个方法放在自己的js中
function onLoadPrev(_152){
var queryParams= $('#datagrid').datagrid('options').queryParams;
//增加一个查询参数,once为true用来判断是否为一次性查询
queryParams={once:true};
alert(”新增加的事件监听“);
}
注意:这两个事件监听不能加在后面,否则就不能用了。很奇怪。同样的道理也可以加在分页的时候。
但是这样做要去修改jquery-easyui的源码,我希望easyui作者可以像onSortColumn一样,开放分页的事件监听,和刷新的事件监听。不知大家有没有什么好的意见。