Comunidad de diseño web y desarrollo en internet online

Componente Datagrid y crear un array en tiempo de ejecución

Citar            
MensajeEscrito el 26 Sep 2005 03:34 pm
Estoy leyendo un XML y escribiendo los datos en un dataGrid. El caso es que este dataGrid no tiene porqué mostrar toda la información del XML, y he pensado en crear una matriz en la que almacenar los datos completos del XML para que estén disponibles para otras películas que se cargan en otro sitio. Pensaba en calcular el número total de items y crear un Array con ese dato, y no se si se puede.... Mirad lo que llevo:

Código :

// Creamos nueva variable XML
var listado01 = new XML();
//Creamos las columnas del DataGrid
midatagrid.columnNames = ["Nombre", "Año" ];
//Definimos el estilo visual del Datagrid
midatagrid.setStyle("themeColor","haloOrange");
//Definimos el ancho de las columnas
midatagrid.getColumnAt(0).width = 180;
//Cargamos el documento xml
listado01.ignoreWhite = true;
listado01.load("listado_web_basica.xml");
listado01.onLoad = function (){  
     //Definimos una variable xmlNodo con el contenido del xml    
     xmlNodo = this.firstChild;
     trace ('Este es el contenido del xml = [ '+ xmlNodo + ' ]');
     // y otra variable total con el numero de items    
     total= xmlNodo.childNodes.length;
     trace ('Este es el Número total de trabajos a mostrar =' + total);
     // Creamos un bucle para alimentar el datagrid    
     for (i=0; i< total; i++) {
          trace (i);
          // Una variable para cada campo de cada item del apartado
          id01 = xmlNodo.childNodes[i].childNodes[0].firstChild.nodeValue;
          nombre01 = xmlNodo.childNodes[i].childNodes[1].firstChild.nodeValue;
          ano01 = xmlNodo.childNodes [i].childNodes[2].firstChild.nodeValue;
          url01 = xmlNodo.childNodes [i].childNodes[3].firstChild.nodeValue;
          imagen01 = xmlNodo.childNodes [i].childNodes[4].firstChild.nodeValue;
          // Añadimos los datos que queremos que se muestren en el datagrid que son el nombre y el año
          midatagrid.addItem({Nombre:nombre01, Año:ano01});
      }
}


Fale, hasta aquí ya he mostrado en el dataGrid los items que hay en este apartado y ahora, hay que ver cual se selecciona en el DataGrid y almacenarlo en la matriz para que la otra peli muestre sus datos. A vel si me podeis echar un cable, que soy un patán con la programación :crap: .

Os agradezco muchiiiiiisimo que hayais leido, por lo menos, hasta aquí. :)
Salu2

Por funmaker

6 de clabLevel



Genero:Masculino  

Albacete (España)

msie
Citar            
MensajeEscrito el 27 Sep 2005 07:22 am
Conseguido!!

He cambiado la estructura del XML a

<listado>
<trabajo id='0001' nombre='Nombre de trabajo1' ano='2005'
link='http://www.dominio1.com' imagen='images/imagen1.jpg'/>
<trabajo id='0002' nombre='Nombre de trabajo2' ano='2005'
link='http://www.dominio2.com' imagen='images/imagen2.jpg'/>
<trabajo id='0003' nombre='Nombre de trabajo3' ano='2005'
link='http://www.dominio3.com' imagen='images/imagen3.jpg'/>
</listado>

He recorrido el XML y he utilizado vectores que almacenan directamente el
valor del atributo que me interesa de la forma:

nombreX[i] = listado.firstChild.childNodes[i].attributes.nombre;

Y he conseguido lo que quería.

Por funmaker

6 de clabLevel



Genero:Masculino  

Albacete (España)

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.