Hola Eduardo.
Por lo que entiendo de tu mensaje, necesitas filtrar los datos que
muestras en el datagrid según un criterio cualquiera; en tu ejemplo,
el color. Creo que lo que necesitas usar el un Filter Function. Los
filter function son funciones muy simples que ejecutan una tarea de
filtrado definida por el programador y que se agregan como propiedad a
algunos tipos de datos basados en listas, de los que usamos muy
comunmente, por ejemplo, los ArrayCollection y los XMLListCollection.
Estas funciones tienen la forma:
<private|public> function <nombre de la funcion> (item:Object):Boolean
{
return <resultado de la condicion de filtrado(true o false)>
}
Donde <resultado de la condicion de filtrado(true o false)> es
cualquier condición de filtrado que desees aplicarle a cada uno de los
items de tu colección, cosa que automáticamente es verificada por Flex
para cada item y que al verificarla retorne cierto o falso, según el
caso. Esto producirá una especie de "colección temporal" en tu
datagrid solo con los items que devolvieron true en el filter
function. Este filtrado se llevará a cabo en cualquier evento que
desees, donde solo tendras que invocar el metodo ".refresh()" de la
colección a la que le asignaste el filter function. Este proceso no
modificará la colección original, lo que te permitirá hacer un nuevo
filtrado variando los parametros de filtrado en otra oportunidad
posteriormente.
Aunque lo anterior no te haya quedado muy claro, trabajar con filter
function es muy simple. Aqui te dejo un enlace a un ejemplo bastante
interesante. En este caso usan algo de expresiones regulares, pero en
un filter function la condición de filtrado, como ya dije, la
estableces tu. Cualquier cosa que no entiendas en el ejemplo, pregunta
por aqui nuevamente que con mucho gusto te aclararemos las dudas:
http://blog.flexexamples.com/2007/08/04/filtering-an-xmllistcollection-using-the-filterfunction-property-and-regular-expressions/
Espero que te sirva de algo lo anterior.
Juan Manrique.