jqGrid之取消选择行

jqGrid在单行选择模式下,resetSelection后,是正常的。

但是在多行选择模式下,resetSelection后,仅仅是取消grid的checked状态,内部存储的selarrrow信息,并没有取消。

直接修改源码。

resetSelection : function( rowid ){

return this.each(function(){
var t = this, sr, fid;
if( t.p.frozenColumns === true ) {
fid = t.p.id+"_frozen";
}
if(rowid !== undefined ) {
sr = rowid === t.p.selrow ? t.p.selrow : rowid;
$("#"+$.jgrid.jqID(t.p.id)+" tbody:first tr#"+$.jgrid.jqID(sr)).removeClass("ui-state-highlight").attr("aria-selected","false");
if (fid) { $("#"+$.jgrid.jqID(sr), "#"+$.jgrid.jqID(fid)).removeClass("ui-state-highlight"); }
if(t.p.multiselect) {
$("#jqg_"+$.jgrid.jqID(t.p.id)+"_"+$.jgrid.jqID(sr), "#"+$.jgrid.jqID(t.p.id))[t.p.useProp ? 'prop': 'attr']("checked",false);
if(fid) { $("#jqg_"+$.jgrid.jqID(t.p.id)+"_"+$.jgrid.jqID(sr), "#"+$.jgrid.jqID(fid))[t.p.useProp ? 'prop': 'attr']("checked",false); }

t.setHeadCheckBox(false);

                                        //取消选择后,重置已选择行id信息
var selectedIds = t.p.selarrrow;
var selarrrow = [];
for (var i = 0; i < selectedIds.length; i++) {
   if (selectedIds[i] != rowid) {
       selarrrow.push(selectedIds[i]);
   }
}
t.p.selarrrow = selarrrow;

}
sr = null;
} else if(!t.p.multiselect) {

                       ......

t.p.savedRow = [];
});
},

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值