OK, estoy ordenando una XMLListCollection en orden alfabético. Tengo un problema sin embargo. Si el valor es "TODO", quiero que sea el primero en la lista. En la mayoría de los casos esto ya sucede, pero los valores que son números se están ordenando antes de "TODOS". Quiero que "ALL" sea siempre la primera selección en mi dataProvider y luego el resto en orden alfabético.Flex: Ordenar - ¿Escribir una función de comparación personalizada?
Así que estoy tratando de escribir mi propia función de ordenación. ¿Hay alguna manera de verificar si uno de los valores es todo y, si no, indicarle que haga una comparación regular de los valores?
Aquí es lo que tengo:
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;
¿Hay una solución para lo que yo estoy tratando de hacer?
¿Qué pasa si ambos son' todo '? –
Me gustaría decir que eso nunca sucederá. Pero sí sé que nunca es el caso jajaja. Agregaré otra instrucción if antes de verificar para verificar si son iguales y devolver 0 es verdadero. Gracias. –