jqGrid的列重新排序
问题描述:
我试着使用remapColumns
:jqGrid的列重新排序
grid.remapColumns(newOrder, false, false);
,但有一个奇怪的问题 - 列标题被重新排序,但列的相关信息留不变。如何解决这个问题?
编辑:
全mthod
permutateGrid: function (gridID, columnsToShow, columnsToHide) {
var newOrder = [];
var grid = $(gridID);
for (var i = 0; i < columnsToShow.length; i++) {
newOrder.push(GridHelpers.getColumnSrcIndexByName(grid, columnsToShow[i]));
}
var columnsCount = grid.jqGrid("getGridParam", "colModel").length;
for (var i = 0; i < columnsCount; i++) {
if (newOrder.indexOf(i) === -1) {
newOrder.push(i);
}
}
showColumns(gridID, columnsToShow);
hideColumns(gridID, columnsToHide);
grid.jqGrid('remapColumns', newOrder, false, false);
grid[0].jqGrid().updateColumns();
},
答
的remapColumns
第二个参数应该是true
如果要更新电网的内容。 remapColumns
的典型用法是grid.jqGrid("remapColumns", newOrder, true, true);
(或grid.remapColumns(newOrder, true);
)。
你在“列信息”下的含义是什么?究竟是什么错误?你使用'newOrder'数组的长度与colModel相同吗? – Oleg 2013-02-25 07:40:16
列信息是列内容。 'newOrder'与'colModel'长度相同,请参阅EDIT – skayred 2013-02-25 07:43:04
您使用的是哪个版本的jqGrid?我不知道'updateColumns'。它现在不存在于jqGrid中。此外,我仍然不明白你有什么问题。什么是“栏目内容”?你的意思是网格列的列标题?何时何地调用'permutateGrid'函数(例如,在空网格中,某些回调函数内部) – Oleg 2013-02-25 07:54:43