jqgrid - jqGrid 免费 multiPageSelect 多选清除 selrrrow
问题描述
我有一个带有多选和多页选择的 jqgrid。我的用户可以在 ajax 页面调用之间的不同页面上选择不同的行。我已向寻呼机添加了一个自定义按钮和方法,以清除所选行,而不管页面如何:
$("#grid").navButtonAdd('#pager', {
caption: "Clear",
title: "Clear Selection",
buttonicon: "ui-icon-circle-close",
onClickButton: function() {
$("#grid").setGridParam({ multiPageSelection: false });
$("#grid").resetSelection();
$("#grid").setGridParam({ multiPageSelection: true});
},
position: "first"
});
您可以看到我必须将 multiPageSelection 设置为 false,重置选择,然后将 multiPageSelection 设置回 true 以使其正常工作。
我试过了
$("#grid").resetSelection();
然后是以下之一:
$("#grid").setGridParam({ selarrrow: ""});
$("#grid").setGridParam({ selarrrow: []});
$("#grid").setGridParam({ selarrrow: {}});
$("#grid").setGridParam({ selarrrow: null});
他们都没有工作。要么他们产生了错误,要么命令被忽略并且 selrrrow 仍然包含值。
如果 multiPageSelection 为真,resetSelection 仅清除当前页面上的值。
是否有一个 jqgrid 命令来重置选择而不考虑 multiPageSelect?
解决方案
如果我正确理解您的问题,那么您只是使用错误的方式来重置数组参数selarrrow
(或其他参数,如data
)。最简单的方法是使用 ofgetGridParam
而不是setGridParam
. getGridParam
不带附加参数的调用返回对jqGrid 的所有内部参数的引用,您将很容易替换任何数组参数:
var $grid = $("#grid"), p = $grid.jqGrid("getGridParam"});
p.selarrrow = [];
或者,您可以使用
$("#grid").jqGrid("setGridParam", { selarrrow: [] }, true);
用第二个参数true
。最后一种方式更具可读性,但任何使用 的setGridParam
都比使用getGridParam
.
推荐阅读
- html - Sitecore disableWebEdit - html 验证失败
- spring-boot - 在 doOnSubscribe、doOnSuccess 和 doOnError 中获取 Reactor 订阅者上下文
- javascript - 如何设计这样的布局:一个顶部和两个底部覆盖整个页面
- android - 海拔没有阴影
- java - 在 Appium 中动态选择驱动程序类型以编写“混合”测试
- mysql - 汇总每个用户的最新记录
- javascript - Javascript + MEAN堆栈:如何在数组中正确找到“_id”字段(不是“id”)?
- ffmpeg - 如何使用 DISCONTINUITY 标签将 HLS 转换为 RTMP
- jmeter - 无法处理来自请求的动态 cookie 值
- java - 如何在 Java Spring 中实现 ASN1 解码?