ОК, я сортирую XMLListCollection в алфавитном порядке. У меня есть один вопрос. Если значение «ВСЕ», я хочу, чтобы оно было первым в списке. В большинстве случаев это происходит уже, но значения, которые являются числами, сортируются до «ВСЕ». Я хочу, чтобы «ВСЕ» всегда был первым выбором в моем dataProvider, а затем остальным в алфавитном порядке.Flex: Sort - Написание пользовательской функции compareFunction?
Так что я пытаюсь написать свою собственную функцию сортировки. Есть ли способ проверить, является ли одно из значений, и если не сказать, что он делает регулярное сравнение значений?
Вот что у меня есть:
function myCompare(a:Object, b:Object, fields:Array = null):int
{
if(String(a).toLowerCase() == 'all')
{
return -1;
}
else
if(String(b).toLowerCase() == 'all')
{
return 1;
}
// NEED to return default comparison results here?
}
//------------------------------
var sort:Sort = new Sort();
sort.compareFunction = myCompare;
Есть ли решение для того, что я пытаюсь сделать?
Что делать, если оба являются «все»? –
Я бы хотел сказать, что этого никогда не произойдет. Но да, я знаю, что это никогда не бывает. Я добавлю еще один оператор if перед проверкой того, что они одинаковы, а return 0 - true. Благодарю. –