jqGrid для динамического изменения порядка столбцов по имени индекса
Я хочу изменить порядок столбцов jqGrid column name
или column index (string)
не column index (int)
, Я видел этот 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);
Так что через некоторое время на событие, которое я хочу вызвать getGridParam
с вышеупомянутым user_visibalColumn
столбец массива.
Это возможно? Если нет, то есть способ добавить col-id тега данных HTML, чтобы я мог получить col-id.
Я видел этот ответ, но я не могу понять, как просто реализовать restoreColumnState
,
Любое предложение будет очень полезным.
Благодарю.
1 ответ
Пожалуйста, напишите, какие версии jqGrid вы используете (или можете использовать) и из какой ветки jqGrid. Более того, важно написать, какой форк jqGrid вы используете ( бесплатный jqGrid, коммерческий Gurrido jqGrid JS или старый jqGrid в версии <=4.7).
Я согласен с проблемой использования индексов столбцов вместо имен столбцов. Это причина, по которой я сделал много изменений в бесплатном форке jqGrid, который я разрабатываю, начиная с превращения основного старого форка в коммерческий (см. Пост) в версии 4.7.1. Я ввел метод remapColumnsByName
вместе со старым методом remapColumns
, Ответ предоставляет демо, которое демонстрирует использование remapColumnsByName
, Более того, бесплатный jqGrid содержит в основном имена столбцов, а не индексы столбцов, и имеет вспомогательный параметр. iColByName
, который помогает получить текущий индекс столбца по имени столбца.
Я рекомендую вам обновить jqGrid, который вы используете, до текущей (4.13.4) версии бесплатной jqGrid и использовать remapColumnsByName
,