var s:Sprite=new Sprite();//Se krea el Sprite
s.graphics.lineStyle(10,0x000000,1);//se delinea y la linea tendra un grosor de 10
s.graphics.beginFill(0x09ff26,5);//el color del border
s.graphics.drawCircle(15,15,15);//se dibuja un circulo
var shadow:DropShadowFilter = new DropShadowFilter();
shadow.distance = 10;
shadow.angle = 25;
shadow.alpha=.7;
shadow.color=0x8b0000;
s.filters = [shadow];//la sombra se agrega el sprite
primero creas new GridColumn("NombreColumna", "identificador de la columna", tamaño, alineacion, etc.)
var gridColumnid:GridColumn = new GridColumn("Id", "id", 6, Align.CENTER, Align.LEFT);
var gridColumnNombre:GridColumn = new GridColumn("Nombre", "nombre", 12, Align.CENTER, Align.LEFT);
var gridColumnEdad:GridColumn = new GridColumn("Edad", "edad", 28, Align.CENTER, Align.LEFT);
Todas las columnas las agregas a un Array
private var ColumnaPersona:Array=new Array();
ColumnaPersona=new Array(gridColumnid,gridColumnNombre,gridColumnEdad);
Creas este array indexado con los mismo nombre ke en los identificadores de las columnas
var Persona:ArrayCollection = new ArrayCollection ();
Persona.addItem( { id: "1",nombre: "Yeethug", Edad : "22"} );
Ahora creas un grid y insertas el ArrayCollection para insertar los datos
var grid:Grid = new Grid (Persona.toArray(),0, 0, new RGBColor (0x666666),new RGBColor (0xCCCCCC),new RGBColor (0), true, new RGBColor (0xCCCCCC),0,Joint.BEVEL);
Se agregan la columnas porke si solo insertas el puro arraycollection las columnas las ordena por abecedario
grid.columns=ColumnaPersona;
Se agrega el grid Al PDF y listo tienes tu Grid Con datos
myPDF.addGrid(grid,5,0);
var gridColumnid:GridColumn = new GridColumn("Id", "id", 6, Align.CENTER, Align.LEFT);
var gridColumnNombre:GridColumn = new GridColumn("Nombre", "nombre", 12, Align.CENTER, Align.LEFT);
var gridColumnEdad:GridColumn = new GridColumn("Edad", "edad", 28, Align.CENTER, Align.LEFT);
Todas las columnas las agregas a un Array
private var ColumnaPersona:Array=new Array();
ColumnaPersona=new Array(gridColumnid,gridColumnNombre,gridColumnEdad);
Creas este array indexado con los mismo nombre ke en los identificadores de las columnas
var Persona:ArrayCollection = new ArrayCollection ();
Persona.addItem( { id: "1",nombre: "Yeethug", Edad : "22"} );
Ahora creas un grid y insertas el ArrayCollection para insertar los datos
var grid:Grid = new Grid (Persona.toArray(),0, 0, new RGBColor (0x666666),new RGBColor (0xCCCCCC),new RGBColor (0), true, new RGBColor (0xCCCCCC),0,Joint.BEVEL);
Se agregan la columnas porke si solo insertas el puro arraycollection las columnas las ordena por abecedario
grid.columns=ColumnaPersona;
Se agrega el grid Al PDF y listo tienes tu Grid Con datos
myPDF.addGrid(grid,5,0);
aki esta todo lo ke se necesita para krear tu pdf
Aki se encuantra el API para cualquier duda pero para mi mejor los ejemplos
API
Descarga Libreria
Ejemplos
Se necesita un Archivo php para crearlo, pero si tu opcion es ASP o ColdFusion se pueden descargar de la pagina o en una ke otro blog ke estan posteados
Archivo PHP
$method = $_GET['method'];
$name = $_GET['name'];
if ( isset ( $GLOBALS["HTTP_RAW_POST_DATA"] )) {
// get bytearray
$pdf = $GLOBALS["HTTP_RAW_POST_DATA"];
// add headers for download dialog-box
header('Content-Type: application/pdf');
header('Content-Length: '.strlen($pdf));
header('Content-disposition:'.$method.'; filename="'.$name.'"');
echo $pdf;
} else echo 'An error occured.';
?>
Archivo AS3
import org.alivepdf.saving.Download;
import org.alivepdf.display.Display;
import org.alivepdf.layout.Size;
import org.alivepdf.layout.Unit;
import org.alivepdf.layout.Orientation;
import org.alivepdf.pdf.PDF;
private var myPDF:PDF;
private function crea():void{// se define el PDF como tamaño, tipo de hoja, etc.
myPDF = new PDF(Orientation.LANDSCAPE, Unit.MM, Size.A4 );
myPDF.setDisplayMode (Display.REAL);
myPDF.addPage();
//se declara el metodo save donde se encuantra el archivo create.php y se crea el pdf,
//el nombre de la imagen,
//download: es en la forma ke se va descargar o si en dado caso tienes el adobe //reader en tu navegador instalado lo podras ver
myPDF.save(Method.REMOTE, "http://localhost/create.php", Download.INLINE, "prueba.pdf" );
}
Este codigo es para hacer una consulta en php y te devuelva un xml el cual
se convertira en un ArrayCollection para ingresarse a la tabla
si no se definen los DataGridColumn los nombres de las cabeceras se ordenaran por abecedario
import mx.collections.ArrayCollection;
import mx.controls.dataGridClasses.DataGridColumn;
import mx.controls.Alert;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
private var originalArrayCollection:ArrayCollection = new ArrayCollection();//se krea el arraycollection
private function cargar():void{
var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, resultado);
var requestObj:URLRequest= new URLRequest("http://127.0.0.1/prueba.php");///se conecta a un archivo php ke devueve un XML
requestObj.method = "GET";
urlLoader.load(requestObj);
function resultado(event:Event):void{
var x:XMLList=new XML(event.target.data).calidad as XMLList;//sEl resultado se ingresa a un XMLList
/*Se Estraen los datos principales**************/
var id:String=x.@id;
var nombre:String=x.@nombre;
var descripcion:String=x.@descripcion;
/*Se agrega al arreglo*/
for(var i:Number=0; i originalArrayCollection.addItem({id:id.split("\n")[i],nombre:nombre.split("\n")[i], descripcion:descripcion.split("\n")[i]});
}
//el arreglo se agrega a la tabla y el nombre de datafiel es igual al nombre ke contiene el array
tabla.dataProvider=originalArrayCollection;
}
}
se convertira en un ArrayCollection para ingresarse a la tabla
si no se definen los DataGridColumn los nombres de las cabeceras se ordenaran por abecedario
import mx.collections.ArrayCollection;
import mx.controls.dataGridClasses.DataGridColumn;
import mx.controls.Alert;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
private var originalArrayCollection:ArrayCollection = new ArrayCollection();//se krea el arraycollection
private function cargar():void{
var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, resultado);
var requestObj:URLRequest= new URLRequest("http://127.0.0.1/prueba.php");///se conecta a un archivo php ke devueve un XML
requestObj.method = "GET";
urlLoader.load(requestObj);
function resultado(event:Event):void{
var x:XMLList=new XML(event.target.data).calidad as XMLList;//sEl resultado se ingresa a un XMLList
/*Se Estraen los datos principales**************/
var id:String=x.@id;
var nombre:String=x.@nombre;
var descripcion:String=x.@descripcion;
/*Se agrega al arreglo*/
for(var i:Number=0; i
}
//el arreglo se agrega a la tabla y el nombre de datafiel es igual al nombre ke contiene el array
tabla.dataProvider=originalArrayCollection;
}
}
Este codigo en AS3 valida las fechas
si te exedes de los dias dependiendo del mes asi como febrero ke tiene 28 dias
y cada cierto tiempo cambia a 29 dias
import mx.events.ValidationResultEvent;
import mx.validators.DateValidator;
import mx.controls.Alert;
private var dateV:DateValidator=new DateValidator();
public function validar():void{
dateV.daySource=dayInput;// se agregan los textInput al dateV
dateV.dayProperty="text";
dateV.monthSource=monthInput;
dateV.monthProperty="text";
dateV.yearSource=yearInput;
dateV.yearProperty="text";
dateV.addEventListener(ValidationResultEvent.VALID,function valido(event:ValidationResultEvent):void{
Alert.show(event.toString());
});
dateV.addEventListener(ValidationResultEvent.INVALID,function Invalido(event:ValidationResultEvent):void{
Alert.show(event.message.toString());
});
}
si te exedes de los dias dependiendo del mes asi como febrero ke tiene 28 dias
y cada cierto tiempo cambia a 29 dias
import mx.events.ValidationResultEvent;
import mx.validators.DateValidator;
import mx.controls.Alert;
private var dateV:DateValidator=new DateValidator();
public function validar():void{
dateV.daySource=dayInput;// se agregan los textInput al dateV
dateV.dayProperty="text";
dateV.monthSource=monthInput;
dateV.monthProperty="text";
dateV.yearSource=yearInput;
dateV.yearProperty="text";
dateV.addEventListener(ValidationResultEvent.VALID,function valido(event:ValidationResultEvent):void{
Alert.show(event.toString());
});
dateV.addEventListener(ValidationResultEvent.INVALID,function Invalido(event:ValidationResultEvent):void{
Alert.show(event.message.toString());
});
}
Suscribirse a:
Entradas (Atom)