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.
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
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 sí 26.39 Essential ActionScript 3.0 sí 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.
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;
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;
Aquí configuramos el constructor con tres funciones que usaremos:
función pública XMLDataGrid (): void setupGrid (); setupComboBox (); setupButton ();
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..
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);
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 elnodos 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
Establezca la clase de documento en "XMLDataGrid" y pruebe la película!
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!