我試着使用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();
},
你在「列信息」下的含義是什麼?究竟是什麼錯誤?你使用'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