Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/07/2006, 08:03
Avatar de luistar
luistar
 
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 19 años, 8 meses
Puntos: 0
Código:
//creamos el objeto xml para carga los datos
var lista_xml:XML = new XML();
//esto es para que no nos de problemas con los espacios en blanco y salto de linea
lista_xml.ignoreWhite = true;

//verifica si se ha cargado correctamente
lista_xml.onLoad = function(ok){
	//si lo ha hecho, ejecuta la funcion para llenar la lista
	//le pasamos como parametro la lista de hijos nodos (es un array)
	if(ok) llenar_lista(this.firstChild.childNodes);
	//si no se carga correctamente los datos informamos con trace
	else trace('error al cargar la lista');
}

//func para llenar a lista, recibe la lista en forma de array
var llenar_lista:Function = function(lista:Array){
	//creamos un array que sera el proveedor del componente
	var proveedor:Array = new Array();
	
	//le decimos a nuestra lista que su poveedor será el array que acabomos de crear
	mi_lista.dataProvider = proveedor;
	
	//exploramos el array uno a uno y agreamos al provider los datos
	for(n=0;n<lista.length;n++){
		//label es el texto que aparecerá en la lista, y data es el valor de ese elemento
		//es como un select de html tiene un label y un value
		proveedor.addItem({label:lista[n].firstChild.nodeValue,data:n});
	}
}

//listener
alSeleccionar = new Object();
alSeleccionar.change = function(evento) {
	//ubicamos la posicion del nodo en el árbol XML
	var posicionXML:Number = Number(evento.target.value);
	//y tomamos el valor de "algunatributo"
	var valorAttributo:String = lista_xml.firstChild.childNodes[evento.target.value].attributes.algunatributo;
	//y luego lo podemos usar como nos parezca, como mostrararlo en "alguncampodetexto"
	alguncampodetexto.text = valorAttributo;
	trace(valorAttributo);
};
//agregamos el listener a "mi_lista"
mi_lista.addEventListener("change", alSeleccionar);

//cargamos la lista para que todo comienze
lista_xml.load('lista.xml');

stop();
modificando el código ActionScript de ese ejemplo
__________________
Si digo que soy mentiroso. ¿Lo soy?