adjunto el código espero alguien sepa guiarme
//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");
autos_grid.setStyle("headerStyle", headerStyles);
//Declaramos variables
enviar_lv = new LoadVars();
recibir_lv = new LoadVars();
var ordenarHacia:String = new String("asc");
var ordenarPor:String = new String();
var miXML:XML = new XML();
var autosGrid:Array = new Array();
var alOrdenar:Object = new Object();
var alClicar:Object = new Object();
var alSeleccionar:Object = new Object();
var selec_str:String = new String();
/***************************** EMPEZAMOS *********************************/
//Cargamos el XML
miXML.ignoreWhite = true;
miXML.onLoad = function(success){
//Cargamos y llenamos el array
if (success){
for (i=0; i<miXML.firstChild.firstChild.childNodes.length; i++){
autosGrid.addItem({Marca: miXML.firstChild.firstChild.childNodes[i].childNodes[0].firstChild,
Modelo: miXML.firstChild.firstChild.childNodes[i].childNodes[1].firstChild,
//Utilizamos parseInt() para convertir los textos a número
Año: parseInt(miXML.firstChild.firstChild.childNodes[i].childNodes[2].firstChild),
Km: parseInt(miXML.firstChild.firstChild.childNodes[i].childNodes[3].firstChild),
Precio: parseInt(miXML.firstChild.firstChild.childNodes[i].childNodes[4].firstChild),
Ciudad: miXML.firstChild.firstChild.childNodes[i].childNodes[5].firstChild});
}
//Asignamos al DataSet y al DataGrid
datos.items = autosGrid;
datos.filtered = false;
autos_grid.dataProvider = datos.dataProvider;
//Propiedades del DataGrid
autos_grid.getColumnAt(0).width = 80;
autos_grid.getColumnAt(1).width = 60;
autos_grid.getColumnAt(2).width = 60;
autos_grid.getColumnAt(3).width = 70;
autos_grid.getColumnAt(4).width = 70;
autos_grid.getColumnAt(5).width = 90;
autos_grid.getColumnAt(0).setStyle("textAlign", "center");
autos_grid.getColumnAt(1).setStyle("textAlign", "right");
autos_grid.getColumnAt(2).setStyle("textAlign", "center");
autos_grid.getColumnAt(3).setStyle("textAlign", "right");
autos_grid.getColumnAt(4).setStyle("textAlign", "right");
autos_grid.getColumnAt(5).setStyle("textAlign", "right");
autos_grid.resizableColumns = false;
autos_grid.sortableColumns = true;
//Deshabilitamos ordenación de las columnas, pero no las columnas
for (i=0; i<3; i++){
autos_grid.getColumnAt(i).sortOnHeaderRelease = false;
}
}
}
miXML.load("http://www.elbosque.com.ec/autopropio/final/mostrar.php");
/**************************** EVENTOS *******************************/
recibir_lv.onLoad = function(){
//Vaciamos todo y recargamos el DataGrid con los datos modificados
autosGrid.splice(0, autosGrid.length);
datos.clear();
datos.filtered = false;
autos_grid.dataProvider = datos.dataProvider;
_root.miXML.load("www.elbosque.com.ec/autopropio/final/mostrar.php");
}
// 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 = "dsc";
}
else if (ordenarHacia == "dsc"){
miOrdenacion.sortOn([ordenarPor], 2);
ordenarHacia = "asc";
}
//Aplicamos el nuevo orden
datos.setIterator(miOrdenacion);
}
autos_grid.addEventListener("headerRelease", alOrdenar);
// FILTRAMOS
alClicar.click = function(objeto){
if (objeto.target == filtrar_btn){
//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) {
var res_boo:Boolean = new Boolean(false);
var dir_str:String = new String(registro.Modelo);
//var dir_str:String = new String(registro.Año);
var dir_array:Array = new Array();
//Rompemos el string por palabras y lo metemos en un array
dir_array = dir_str.split(" ");
for (i=0; i<dir_array.length; i++){
var t1_str:String = new String(dir_array[i]);
var t2_str:String = new String(filtrar.text);
//var t3_str:String = new String(filtrar2.text);
if (t1_str.toUpperCase() == t2_str.toUpperCase()){
res_boo = true;
}
}
return(res_boo == true);
}
}
else if (objeto.target == insertar_btn){
insertar();
}
else if (objeto.target == eliminar_btn){
eliminar();
}
else if (objeto.target == modificar_btn){
modificar();
}
}
filtrar_btn.addEventListener("click", alClicar);
insertar_btn.addEventListener("click", alClicar);
eliminar_btn.addEventListener("click", alClicar);
modificar_btn.addEventListener("click", alClicar);
alSeleccionar.change = function(objeto){
if (objeto.target == autos_grid){
selec_str = objeto.target.getItemAt(objeto.target.selectedIndex).Marca;
marca_txt.text = objeto.target.getItemAt(objeto.target.selectedIndex).Marca;
modelo_txt.text = objeto.target.getItemAt(objeto.target.selectedIndex).Modelo;
ano_txt.text = objeto.target.getItemAt(objeto.target.selectedIndex).Año;
km_txt.text = objeto.target.getItemAt(objeto.target.selectedIndex).Km;
precio_txt.text = objeto.target.getItemAt(objeto.target.selectedIndex).Precio;
ciudad_txt.text = objeto.target.getItemAt(objeto.target.selectedIndex).Ciudad;
}
}
autos_grid.addEventListener("change", alSeleccionar);
