Использование sorttype
в качестве функции может быть полезно для любого локального типа данных jqGrid или в случае использования loadonce:true
jqGrid paremter с «удаленными» типами данных «json» или «xml».При необходимости вы можете динамически изменить sorttype
любого столбца.
Я сделал новую демонстрацию , чтобы вы могли продемонстрировать эту функцию.В начале сетка будет отсортирована по столбцу «Клиент», а содержащийся столбец будет интерпретирован как текстовая строка.Результаты отображаются ниже
Когда мы установим флажок «Установить функцию пользовательского типа сортировки», сетка будет отсортирована, как показано на следующем рисунке
Для реализации такой сортировки я определил функцию
var myCustomSort = function(cell,rowObject) {
if (typeof cell === "string" && /^test(\d)+$/i.test(cell)) {
return parseInt(cell.substring(4),10);
} else {
return cell;
}
}
и обработчик события 'change' на флажке
$("#customsorttype").change(function() {
var isChecked = $(this).is(':checked');
if (isChecked) {
cm.sorttype = myCustomSort;
} else {
cm.sorttype = "text";
}
grid.trigger("reloadGrid");
});
, где grid
равно $("#list")
.
Если один раз кликнуть по флажку еще раз, будет использован оригинальный метод сортировки с sorttype:"text"
.