jqGrid 免费 multiPageSelect 多选清除 selarrrow
jqGrid free multiPageSelect multiselect clear selarrrow
我有一个带有 multiselect 和 multiPageSelection 的 jqgrid。我的用户可以在 ajax 个页面调用之间 select 不同页面上的不同行。我已经向寻呼机添加了一个自定义按钮和方法来清除 selected 行,无论页面如何:
$("#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,重置 selection,然后将 multiPageSelection 设置回 true 才能正常工作。
我试过了
$("#grid").resetSelection();
然后是以下之一:
$("#grid").setGridParam({ selarrrow: ""});
$("#grid").setGridParam({ selarrrow: []});
$("#grid").setGridParam({ selarrrow: {}});
$("#grid").setGridParam({ selarrrow: null});
None 他们成功了。它们要么产生了错误,要么命令被忽略并且 selarrrow 仍然包含值。
resetSelection 仅在 multiPageSelection 为真时清除当前页面上的值。
是否有 jqgrid 命令来重置 selection 而不管 multiPageSelect?
如果我正确理解你的问题,那么你只是使用了错误的方式来重置数组参数 selarrrow
(或其他参数,如 data
)。最简单的方法是使用 getGridParam
而不是 setGridParam
。调用 getGridParam
没有 附加参数 returns 对 jqGrid 所有内部参数的引用 你会很容易替换任何数组参数:
var $grid = $("#grid"), p = $grid.jqGrid("getGridParam"});
p.selarrrow = [];
或者您可以使用
$("#grid").jqGrid("setGridParam", { selarrrow: [] }, true);
与第二个参数true
。最后一种方法更具可读性,但是 setGridParam
的任何用法都比 getGridParam
.
的用法慢
我有一个带有 multiselect 和 multiPageSelection 的 jqgrid。我的用户可以在 ajax 个页面调用之间 select 不同页面上的不同行。我已经向寻呼机添加了一个自定义按钮和方法来清除 selected 行,无论页面如何:
$("#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,重置 selection,然后将 multiPageSelection 设置回 true 才能正常工作。
我试过了
$("#grid").resetSelection();
然后是以下之一:
$("#grid").setGridParam({ selarrrow: ""});
$("#grid").setGridParam({ selarrrow: []});
$("#grid").setGridParam({ selarrrow: {}});
$("#grid").setGridParam({ selarrrow: null});
None 他们成功了。它们要么产生了错误,要么命令被忽略并且 selarrrow 仍然包含值。
resetSelection 仅在 multiPageSelection 为真时清除当前页面上的值。
是否有 jqgrid 命令来重置 selection 而不管 multiPageSelect?
如果我正确理解你的问题,那么你只是使用了错误的方式来重置数组参数 selarrrow
(或其他参数,如 data
)。最简单的方法是使用 getGridParam
而不是 setGridParam
。调用 getGridParam
没有 附加参数 returns 对 jqGrid 所有内部参数的引用 你会很容易替换任何数组参数:
var $grid = $("#grid"), p = $grid.jqGrid("getGridParam"});
p.selarrrow = [];
或者您可以使用
$("#grid").jqGrid("setGridParam", { selarrrow: [] }, true);
与第二个参数true
。最后一种方法更具可读性,但是 setGridParam
的任何用法都比 getGridParam
.