jqGrid 按索引名称动态重新排序列
jqGrid to reorder column by index name dynamically
我想按 column name
或 column index (string)
而不是 column index (int)
对 jqGrid 列重新排序。这个我看过API
$("#list").jqGrid("remapColumns", [0,1,12,3,14,5,6,7,8,11,2], true);
它使用列索引号,但问题是在更改顺序后 jqGrid 执行重新索引并更改索引。所以我正在寻找 API 接受列名而不是整数值。
这是我获取列名的代码
var columnModels = grid.jqGrid('getGridParam', 'colModel');
var user_visibalColumn = [];
for (var columnModelIndex in columnModels) {
var columnModel = columnModels[columnModelIndex];
if (!columnModel.hidden) {
user_visibalColumn.push(columnModel.name);
}
}
//console.log(user_visibalColumn);
所以在事件发生一段时间后,我想用上面的 user_visibalColumn
数组列触发 getGridParam
。
这可能吗?如果没有,那么有没有办法添加 HTML 数据标签 col-id 以便我可以检索 col-id。
我看过 this answer,但我不知道如何实施 restoreColumnState
。
任何建议都会很有帮助。
谢谢。
请说明您使用(或可以使用)哪个版本的 jqGrid 以及来自哪个 jqGrid 分支。此外,重要的是要写下您使用的 jqGrid 的哪个分支(free jqGrid, commercial Gurrido jqGrid JS 或版本 <=4.7 的旧 jqGrid)。
我同意使用列索引而不是列名的问题。这就是为什么我在免费的 jqGrid 分支中做了很多更改的原因,我从制作主要的旧分支商业广告开始开发它(参见 the post) in the version 4.7.1. I introduced the method remapColumnsByName
together with the old method remapColumns
. provides the demo,它演示了 remapColumnsByName
的用法。此外,免费的 jqGrid 主要包含专栏名称而不是内部的列索引,它有帮助选项iColByName
,这有助于通过列名获取列的当前索引。
我建议您将您使用的 jqGrid 升级到当前 (4.13.4) 版本的免费 jqGrid 并使用 remapColumnsByName
。
我想按 column name
或 column index (string)
而不是 column index (int)
对 jqGrid 列重新排序。这个我看过API
$("#list").jqGrid("remapColumns", [0,1,12,3,14,5,6,7,8,11,2], true);
它使用列索引号,但问题是在更改顺序后 jqGrid 执行重新索引并更改索引。所以我正在寻找 API 接受列名而不是整数值。
这是我获取列名的代码
var columnModels = grid.jqGrid('getGridParam', 'colModel');
var user_visibalColumn = [];
for (var columnModelIndex in columnModels) {
var columnModel = columnModels[columnModelIndex];
if (!columnModel.hidden) {
user_visibalColumn.push(columnModel.name);
}
}
//console.log(user_visibalColumn);
所以在事件发生一段时间后,我想用上面的 user_visibalColumn
数组列触发 getGridParam
。
这可能吗?如果没有,那么有没有办法添加 HTML 数据标签 col-id 以便我可以检索 col-id。
我看过 this answer,但我不知道如何实施 restoreColumnState
。
任何建议都会很有帮助。
谢谢。
请说明您使用(或可以使用)哪个版本的 jqGrid 以及来自哪个 jqGrid 分支。此外,重要的是要写下您使用的 jqGrid 的哪个分支(free jqGrid, commercial Gurrido jqGrid JS 或版本 <=4.7 的旧 jqGrid)。
我同意使用列索引而不是列名的问题。这就是为什么我在免费的 jqGrid 分支中做了很多更改的原因,我从制作主要的旧分支商业广告开始开发它(参见 the post) in the version 4.7.1. I introduced the method remapColumnsByName
together with the old method remapColumns
. remapColumnsByName
的用法。此外,免费的 jqGrid 主要包含专栏名称而不是内部的列索引,它有帮助选项iColByName
,这有助于通过列名获取列的当前索引。
我建议您将您使用的 jqGrid 升级到当前 (4.13.4) 版本的免费 jqGrid 并使用 remapColumnsByName
。