Сортировка на основе данных, выведенных из data-formatter - PullRequest
0 голосов
/ 06 июля 2019

У меня есть проблема с таблицей начальной загрузки, которую я не могу найти решение.

Я пытаюсь включить сортировку некоторых моих данных, но порядок сортировки неверен, потому что я использую функцию форматирования данных для манипулирования данными перед их отображением в таблице. Таким образом, сортировщик сортируется на основе поля данных, которое подается в функцию форматирования, а не на то, что из него получается. Другими словами, я хочу отсортировать выходные данные функции форматирования данных, а не входные. data-sort-name не поможет, потому что пользовательские данные не входят в число полей data-url, и я не уверен, как реализовать пользовательскую функцию сортировки, потому что она не знает, как получить доступ к манипулируемым данным.

Вот пример. Набор данных, с которым я работаю, имеет коды стран, связанные с определенными учетными записями. Я использую объект JSON для преобразования кодов стран в названия стран. Когда я иду сортировать столбец, он сортируется на основе числового кода страны, а не в алфавитном порядке с использованием названий стран.

Код страны Сортировать изображение Страна Название Сортировка изображения

 <th data-field="Location" data-valign="middle" data-sortable="true" data-formatter="getCountryName">Location</th>
 
 var isoCountries = {
    '93' : 'Afghanistan',
    '355' : 'Albania',
    '213' : 'Algeria',
    }
 
 function getCountryName(index,row){
    if (isoCountries.hasOwnProperty(row['Location'])) {
        return isoCountries[(row['Location'])];
    } else {
        return row['Location'];
    }
}

Если бы кто-нибудь мог указать мне правильное направление, это было бы очень ценно.

Спасибо!

...