我认为在使用onPaging
. 如果方法返回"stop"
,选择仍然被清除。原因是代码片段中的行顺序
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 =[]; setHeadCheckBox( false );}
ts.p.savedRow = [];
if(ret==='stop') {return false;}
return true;
};
正确的代码应该是
clearVals = function(onpaging){
var ret;
if ($.isFunction(ts.p.onPaging) ) { ret = ts.p.onPaging.call(ts,onpaging); }
if(ret==='stop') {return false;}
ts.p.selrow = null;
if(ts.p.multiselect) {ts.p.selarrrow =[]; setHeadCheckBox( false );}
ts.p.savedRow = [];
return true;
};
您可以将 4.5.2 版本的第 2045 行(与4.4.1 中的第 1902 行对应if(ret==='stop') {return false;}
)移到jquery.jqGrid.src.js
2041(4.4.1 版本中的第 1898 行)之后(在 之后if ($.isFunction(ts.p.onPaging) ) { ret = ts.p.onPaging.call(ts,onpaging); }
)以修复该错误。
的用法onSortCol
似乎是正确的,如果回调返回"stop"
字符串,则选择应保持不变。
更新:我将相应的芽修复发布为拉取请求。它今天(见这里)合并到 jqGrid 的主要代码中。所以下一个版本(> 4.5.2)不应该有更多你描述的问题。