OK, sortuję XMLListCollection w kolejności alfabetycznej. Mam jednak jedną kwestię. Jeśli wartość to "ALL", chcę, aby była pierwsza na liście. W większości przypadków dzieje się to już wcześniej, ale wartości będące liczbami są sortowane przed "ALL". Chcę, aby "ALL" zawsze był pierwszym wyborem w moim dataProvider, a następnie reszta alfabetycznie.Flex: Sortuj - Zapisywanie niestandardowej funkcji porównania?
Więc staram się napisać własną funkcję sortowania. Czy istnieje sposób, aby sprawdzić, czy jedna z wartości jest wszystkim, a jeśli nie powiedzieć, aby zrobić regularne porównanie wartości?
Oto co mam:
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;
Czy istnieje rozwiązanie dla co usiłuję zrobić?
Co zrobić, jeśli obie są" wszystkie "? –
Chciałbym powiedzieć, że to się nigdy nie zdarzy. Ale tak, wiem, że nigdy nie jest tak lol. Dodam jeszcze jedną instrukcję if przed sprawdzeniem, czy są one takie same, a return 0 jest prawdziwe. Dzięki. –