Consejo rápido Uso de Datagrid con XML

Voy a demostrar cómo usar el componente datagrid con un archivo xml. Cuando necesita mostrar datos tabulares, no hay una forma más rápida y fácil que usar un datagrid, y cuando se combina con un archivo xml hace que todo sea mejor.


Paso 1: Configuración del documento Flash

Crea un nuevo archivo flash (Actionscript 3.0). Establecer el documento a 600x400px con un fondo blanco.

Guarde este archivo con el nombre xmlDatagrid.fla


Paso 2: Agregar componentes al documento

Abra la ventana de componentes yendo a Menú> Ventana> Componentes o presionando Ctrl + F7.

Arrastre un botón, un cuadro combinado y un componente de la base de datos al escenario.

Luego borre los componentes de botones, combobox y datagrid del escenario; ahora están en tu biblioteca.

Aquí hay una vista previa de la estructura del documento XML que utilizaremos:

    Aprendiendo ActionScript 3.0: Una guía para principiantes  26.39   Essential ActionScript 3.0  34.64  

La descarga de Source contiene tres archivos XML: flash.xml, ajax.xml, y php.xml; cada uno sigue la misma estructura que el fragmento anterior, pero contiene libros diferentes. Tendrá que colocarlos en la misma carpeta que su FLA.


Paso 3: abrir un nuevo archivo de ActionScript

Abra un nuevo archivo de acciones y guárdelo con el nombre XMLDataGrid.as

Ahora abra la declaración del paquete e importe las clases que usaremos:

 paquete import flash.display.MovieClip; importar flash.net.URLLoader; importar flash.net.URLRequest; import flash.events.MouseEvent; import flash.events.Event; importar fl.controls.DataGrid; importar fl.controls.ComboBox; importar fl.controls.Button;

Paso 4: Extienda la clase MovieClip y declare las variables

La clase de documento principal debe extender la clase Sprite o MovieClip; Aquí extendemos la clase MovieClip. Declara las variables que vamos a utilizar:

 el paquete clase pública XMLDataGrid extiende MovieClip var dg: DataGrid; var cb: ComboBox; var urlLoader: URLLoader = new URLLoader (); var loadButton: Button; var bookXML: XML;

Paso 5: configurar el constructor

Aquí configuramos el constructor con tres funciones que usaremos:

 función pública XMLDataGrid (): void setupGrid (); setupComboBox (); setupButton (); 

Paso 6: Definiciones de funciones

Aquí definimos las funciones que estamos utilizando en el constructor:

 función privada setupGrid (): void dg = new DataGrid (); dg.addColumn ("Título"); dg.addColumn ("InStock"); dg.addColumn ("Precio"); // Esto establece el tamaño del datagrid dg.setSize (600,100); // Esta es la cantidad de filas que desea que muestre la base de datos dg.rowCount = 5; // Cuando agregamos columnas, se colocan en una matriz // Aquí establecemos el ancho de la columna "Título" de la primera columna en 450 dg.columns [0] .width = 450; // Esto establece las posiciones x e y del datagrid dg.move (0,100); addChild (dg);  función privada setupComboBox (): void cb = new ComboBox (); // Esto agrega un elemento al comboBox cb.addItem (label: "Flash"); cb.addItem (label: "Ajax"); cb.addItem (label: "Php"); // Esto establece las posiciones x e y cb.move (200,50); addChild (cb);  función privada setupButton (): void loadButton = new Button (); loadButton.label = "Cargar libros"; loadButton.addEventListener (MouseEvent.CLICK, loadBooks); loadButton.x = 200; loadButton.y = 325; addChild (loadButton); 

los setupGrid () la función crea un Cuadrícula de datos componente, que mostrará los datos del archivo XML que le pasamos.

los setupComboBox () la función crea un Caja combo, que es una lista desplegable que utilizaremos para permitir que el usuario elija un archivo XML para pasar a la cuadrícula de datos.

El botón creado en setupButton () se utilizará para pasar el archivo XML, que se selecciona en el cuadro combinado, a la cuadrícula de datos. A continuación escribiremos ese código..


Paso 7: Definir la función loadBooks

La función loadBooks se usa en el eventListener del loadButton.

 función privada loadBooks (e: Event): void // Aquí cb.selectedLabel devuelve una cadena, así que llamamos aLowerCase () // y le añadimos .xml, es decir, si se selecciona 'Flash', cargamos 'flash.xml 'urlLoader.load (nueva URLRequest (cb.selectedLabel.toLowerCase () + ". xml")); urlLoader.addEventListener (Event.COMPLETE, populateGrid); 

Paso 8: Definir la función populateGrid

La función populateGrid se usa en el eventListener del urlLoader en la función loadBooks.

 función privada populateGrid (e: Event): void var booksXML: XML = new XML (e.target.data); // Cuántos elementos hay en el archivo xml var booksLength: int = booksXML.book.length (); // Esto elimina todos los datos agregados previamente en el datagrid. dg.removeAll (); // Aquí pasamos por el  nodos en el archivo xml, y agregue cada uno como una fila al datagrid para (var i: int = 0; i < booksLength; i++)  dg.addItem(Title: booksXML.book[i].title, InStock: booksXML.book[i].instock,Price: booksXML.book[i].price);   //Close out the class  // This is closing the package out

Paso 9: Configura la clase de documento y prueba

Establezca la clase de documento en "XMLDataGrid" y pruebe la película!


Conclusión

Aquí aprendimos que mostrar datos de tabluar en flash es fácil con el componente datagrid y que emparejarlo con xml es una gran solución..

Este es mi primer tutorial, espero que hayas aprendido algo útil y gracias por leer!