este es mi codigo
Código :
//Importamos las clases para el Iterator y los Estilos
import mx.data.components.datasetclasses.DataSetIterator
import mx.styles.CSSStyleDeclaration
//Estilo de la cabecera del grid
var headerStyles = new CSSStyleDeclaration();
headerStyles.setStyle("textAlign", "center");
procesos_grid.setStyle("headerStyle", headerStyles);
procesos_grid.setStyle("themeColor", "haloBlue");
//Declaramos variables
var ordenarHacia:String = new String("asc");
var ordenarPor:String = new String();
var miXML:XML = new XML();
var datosProcesos:Array = new Array();
var alOrdenar:Object = new Object();
var alClicar:Object = new Object();
/***************************** EMPEZAMOS *********************************/
for (i=0; i<mi_Xml.firstChild.childNodes.length; i++){
createEmptyMovieClip("container"+i, i);
loadMovie(mi_xml.firstChild.childNodes[i].firstChild.attributes.rutas, this["container"+i]);
}
//Cargamos el XML
miXML.ignoreWhite = true;
miXML.onLoad = function(success){
//Cargamos y llenamos el array
if (success){
for (i=0; i<miXML.firstChild.childNodes.length; i++){
createEmptyMovieClip("container"+i, i);
datosProcesos.addItem({Ubicacion: miXML.firstChild.childNodes[i].firstChild,
//Utilizamos parseInt() para convertir los textos a número
Precio: (miXML.firstChild.childNodes[i+1].firstChild),
Foto: (miXML.firstChild.childNodes[i+2].firstChild)});
}
//Asignamos al DataSet y al DataGrid
datos.items = datosProcesos;
datos.filtered = false;
procesos_grid.dataProvider = datos.dataProvider;
//Propiedades del DataGrid
procesos_grid.resizableColumns = false;
procesos_grid.getColumnAt(0).width = 215;
procesos_grid.getColumnAt(1).width = 45;
procesos_grid.getColumnAt(2).width = 100;
procesos_grid.getColumnAt(2).height = 75;
procesos_grid.getColumnAt(0).setStyle("textAlign", "left");
procesos_grid.getColumnAt(1).setStyle("textAlign", "right");
procesos_grid.getColumnAt(2).setStyle("textAlign", "right");
//Deshabilitamos ordenación de las columnas, pero no las columnas
for (i=0; i<3; i++){
procesos_grid.getColumnAt(i).sortOnHeaderRelease = false;
}
}
}
miXML.load("xml/libros.xml");
/**************************** EVENTOS *******************************/
// ORDENAMOS
alOrdenar.headerRelease = function(objeto){
//Recogemos la ordenación actual
miOrdenacion = datos.getIterator();
//Cogemos el nombre de la columna
ordenarPor = objeto.target.getColumnAt(objeto.columnIndex).columnName;
if (ordenarHacia == "asc"){
miOrdenacion.sortOn([ordenarPor], 1);
ordenarHacia = "des";
}
else if (ordenarHacia == "des"){
miOrdenacion.sortOn([ordenarPor], 2);
ordenarHacia = "asc";
}
//Aplicamos el nuevo orden
datos.setIterator(miOrdenacion);
}
procesos_grid.addEventListener("headerRelease", alOrdenar);
// FILTRAMOS
alClicar.click = function(){
//Si no hay filtro lo ponemos y cambiamos el texto en el botón
if (datos.filtered == false){
datos.filtered = true;
datos.filterFunc();
filtrar_btn.label = "Quitar Filtro";
}
//Si hay filtro lo quitamos y cambiamos el texto en el botón
else if (datos.filtered == true){
datos.filtered = false;
filtrar_btn.label = "Filtrar";
}
//Función filterFunc de Flash
datos.filterFunc = function(registro:Object) {
return(registro.Memoria >= maxMem_txt.text);
}
}
filtrar_btn.addEventListener("click", alClicar); 