diff --git a/js/grid.base.js b/js/grid.base.js
index b02fee8b4..2a9af23ee 100755
--- a/js/grid.base.js
+++ b/js/grid.base.js
@@ -185,7 +185,7 @@ $.fn.jqGrid = function( pin ) {
toppager: false,
headertitles: false
}, $.jgrid.defaults, pin || {});
- var grid={
+ var grid={
headers:[],
cols:[],
footers: [],
@@ -983,10 +983,12 @@ $.fn.jqGrid = function( pin ) {
pgl="
",
str="", pgcnt, lft, cent, rgt, twd, tdw, i,
clearVals = function(onpaging){
+ var ret;
+ if ($.isFunction(ts.p.onPaging) ) ret = ts.p.onPaging.call(ts,onpaging);
ts.p.selrow = null;
if(ts.p.multiselect) {ts.p.selarrrow =[];$('#cb_'+$.jgrid.jqID(ts.p.id),ts.grid.hDiv).attr("checked",false);}
ts.p.savedRow = [];
- if ($.isFunction(ts.p.onPaging) ) {if(ts.p.onPaging.call(ts,onpaging)=='stop') return false;}
+ if(ret=='stop') {return false;}
return true;
};
//pgid= $(ts.p.pager).attr("id") || 'pager',
@@ -1723,12 +1725,12 @@ $.jgrid.extend({
var ch = $($t.grid.bDiv)[0].clientHeight,
st = $($t.grid.bDiv)[0].scrollTop,
nROT = $t.rows[iR].offsetTop+$t.rows[iR].clientHeight,
- pROT = $t.rows[iR].offsetTop;
+ pROT = $t.rows[iR].offsetTop-$t.rows[iR].clientHeight;
if(tp == 'd') {
- if(nROT >= ch) { $($t.grid.bDiv)[0].scrollTop = st + nROT-pROT; }
+ if(pROT+22 > ch) { $($t.grid.bDiv)[0].scrollTop = nROT-22; }
}
if(tp == 'u'){
- if (pROT < st) { $($t.grid.bDiv)[0].scrollTop = st - nROT+pROT; }
+ if (pROT < st) { $($t.grid.bDiv)[0].scrollTop = nROT-22; }
}
}
});