ligerui1.1.9版本目前中,ligeruiGrid翻页至第N页后再点击查询,会出现可能查询结果在第一页,但是目前仍停留在第N页的情况
解决办法,在ligerGrid.js中changePage方法后加入下面代码。是一个笨办法......
changePage2ToFirst: function (ctype)
{
var g = this, p = this.options;
if (g.loading) return true;
if (p.dataAction != "local" && g.isDataChanged && !confirm(p.isContinueByDataChanged))
return false;
p.pageCount = parseInt($(".pcontrol span", g.toolbar).html());
switch (ctype)
{
case 'first': if (p.page == 1) return; p.newPage = 1; break;
case 'prev': if (p.page == 1) return; if (p.page > 1) p.newPage = parseInt(p.page) - 1; break;
case 'next': if (p.page >= p.pageCount) return; p.newPage = parseInt(p.page) + 1; break;
case 'last': if (p.page >= p.pageCount) return; p.newPage = p.pageCount; break;
case 'input':
var nv = parseInt($('.pcontrol input', g.toolbar).val());
alert(nv);
if (isNaN(nv)) nv = 1;
if (nv < 1) nv = 1;
else if (nv > p.pageCount) nv = p.pageCount;
$('.pcontrol input', g.toolbar).val(nv);
p.newPage = nv;
break;
}
if (p.newPage == p.page) return false;
if (p.newPage == 1)
{
$(".l-bar-btnfirst span", g.toolbar).addClass("l-disabled");
$(".l-bar-btnprev span", g.toolbar).addClass("l-disabled");
}
else
{
$(".l-bar-btnfirst span", g.toolbar).removeClass("l-disabled");
$(".l-bar-btnprev span", g.toolbar).removeClass("l-disabled");
}
if (p.newPage == p.pageCount)
{
$(".l-bar-btnlast span", g.toolbar).addClass("l-disabled");
$(".l-bar-btnnext span", g.toolbar).addClass("l-disabled");
}
else
{
$(".l-bar-btnlast span", g.toolbar).removeClass("l-disabled");
$(".l-bar-btnnext span", g.toolbar).removeClass("l-disabled");
}
g.trigger('changePage', [p.newPage]);
},
在查询按钮点击后,调用changePage2ToFirst方法,会自动跳转至第一页
function query(){
var condition = $("#queryForm").serialize();
var newUrl = "codeDef.do?submitFlag=toList&"+condition;
manager.changePage2ToFirst('first');
initialize(newUrl);
}
原先的changePage方法中changePage('first'),会走两遍后台,查询结果走一遍,改变页数会走一遍。
changePage2ToFirst取消了改变页数后的再次查询