以编程方式选择jqgrid所有页面的所有行
selecting all the rows of all the pages of a jqgrid programmatically?
我想以编程方式选择jqgrid中所有页面的所有行,以用于批量更新实用程序。我该如何做到这一点?我试了很多方法,但似乎都不奏效。有人能给我指个方向吗?我的代码如下:
var tot_rows=$("#template-list").jqGrid('getGridParam', 'records');
for(var i=1; i<=tot_rows; i++)
{
$('#template-list').setSelection(tot_rows[i], true);
}
谢谢,安妮塔
首先,重要的是要理解jqGrid只支持当前页面 上的行选择。jqGrid的设计是在不支持本地数据分页的情况下完成的。
下一个问题是只能在数据加载到网格之后才能选择数据。例如,可以使用loadCompleted
来选择一些行。
只有在使用multiselect: true
选项时才可以选择多行作为一行。在这种情况下,jqGrid自动添加带有复选框的列,并在列标头中添加复选框。通过选中复选框,可以选择当前页面中的所有行。复选框有id
,其前缀为cb_
,后跟网格的id
。例如,如果网格的id为template-list
,则为cb_template-list
。因此,您可以使用以下代码
loadComplete: function () {
$("#cb_" + this.id).click();
}
或者,如果网格的id可以包含一些特殊字符,那么最好是
loadComplete: function () {
$("#cb_" + $.jgrid.jqID(this.id)).click();
}
结果显示后,每页上的所有行将被直接选中。
UPDATE: Free jqGrid支持multiPageSelection: true
选项,它与multiselect: true
结合使用。它允许在多个页面上保持参数selarrrow
。默认情况下,jqGrid在分页期间重置数组selarrrow
,但在使用multiPageSelection: true, multiselect: true
的情况下,它不会这样重置。此外,在构建页面期间,它预选择 selarrrow
数组中的所有行。因此,如果用项目的所有行(所有页面上的所有行)填充selarrrow
数组,那么行将被选中显示。用户仍然可以取消选择一些行,jqGrid将不会更改用户所做的更改。
顺便说一下,如果数据是从服务器加载的,可以在beforeProcessing
回调中填充selarrrow
数组
我之所以要选择jqgrid的所有行,是因为我可以使用selarrow获得所有行的id。但是我最终发现,因为这是我想选择所有它们的唯一原因,所以我也可以用下面的方法来做
var tot_rows=$("#template-list").jqGrid('getGridParam', 'records');
var mydata = $('#template-list').jqGrid('getGridParam','data');
var indexes = $('#template-list').jqGrid('getGridParam', '_index');
for(var i=1; i<=tot_rows; i++)
{
recId=mydata[indexes[i]].recId;
//some processing
}
它工作!!感谢你们俩的时间和帮助!!
- 以编程方式选择文本Mobile Safari
- Thunderbird,如何以编程方式选择第一个选项卡
- 如何以编程方式在 jsTree 中选择一个节点并打开所有父节点
- 以编程方式打开<选择>选取器
- 如何在jqueryDataTables中以编程方式取消选择由id标识的行
- 如何使用OpenLayers以编程方式选择功能
- 对象以编程方式移动后的 Fabricjs 在其新位置上不可选择
- jQuery 选择器,用于编程生成内容的 ID
- 地集.Tree + JsonRestStore - 使用 tree.set(“path”) 以编程方式选择节点
- jQuery 脚本在以编程方式(不是由用户)更改选择选项时不起作用
- JavaScript - 如何检测选择元素上的编程值更改(下拉列表)
- 以编程方式在 jQuery 日期选择器上设置多个日期
- 使用类似 JQuery 的选择器语法以编程方式编辑 Less (css) 代码
- 如何以编程方式选择树列表 (剑道) 中的节点
- select2以编程方式更改选择
- 如何使用Chosen.JS多选以编程方式选择多个选项
- 以编程方式更改jquery ui日期选择器
- Jaegers选项卡以编程方式选择选项卡
- 用JavaScript编程选择文本
- Fabric JS通过ID编程选择对象