jqgrid: unformat не вызывается при сортировке - PullRequest
0 голосов
/ 01 июня 2011

Согласно документации jqGrid, если вы предоставляете пользовательский форматер в colOptions, вы должны также предоставить ключ «unformat», который вызывается во время операции сортировки.Тем не менее, я не вижу, что это происходит, т.е. неформатированная функция не вызывается.Вот очень простой пример:

Как видите, строка console.log в функции unformat_salary никогда не вызывается.Даже когда вы нажимаете на заголовок Зарплата, чтобы отсортировать его.Кажется, сортировка работает, но она отсортирована по лексическому принципу, и я хочу пользовательскую сортировку.Предоставление 'sorttype' в качестве функции будет делать то, что я хочу, но мне интересно, почему unformat не вызывается, когда в документации конкретно говорится, что он вызывается во время операций сортировки.1007 *

1 Ответ

0 голосов
/ 01 июня 2011

Вы неправильно понимаете значение функции unformat.Это будет исключено, только если вы получите содержимое ячеек, строк или столбцов.Например, если вы используете методы getCell, getRowData, getCol или close jqGrid .Если вы используете datatype:'local' (как в вашем примере), свойство sorttype определяет порядок сортировки столбца.В случае пользовательской сортировки вы можете использовать sorttype как функцию .Функция может иметь два параметра: cellValue и rowData.Последний параметр представляет неформатированные данные из текущей строки.

В вашем случае вы можете использовать

sorttype:function(cellvalue){
    return unformat_salary(cellvalue);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...