Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/12/2009, 14:15
Avatar de kuroro_lucifer
kuroro_lucifer
 
Fecha de Ingreso: noviembre-2009
Mensajes: 8
Antigüedad: 14 años, 5 meses
Puntos: 0
ayuda con datagrid

Saludos a todos...les cuento!!

soy nuevo el flex pero me manejo bastante bien en otros lenguajes. He estado asiendo unas pruebas con httpservices y me funciona bastate bien la comunicacion y he logrador mostrar datos desde mi servidor ha mi aplicacion flex en un datagrid, pero mi idea es que esos parametos que yo recivo, pasarlos a variables y usarlas en funciones..para generar imagenes dinamica y darles posicionamiento (x,y).

alguien me puede explicar como sacar la info de los datagridcolumn o si existe otra forma de hacerlo, por lo que me he dado cuenta, solo se puede hacer con la propiedad

dataprovider del datagrid
de ante mano gracias....

Código:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
 initialize="servicio1.send(),generarbuses(),setInterval(interval,5000)">

	
<mx:Script>
	<![CDATA[
		import mx.collections.ArrayCollection;
		import mx.controls.ProgressBar;
		import flash.trace.Trace;
		import mx.controls.Alert;
		import flash.utils.setInterval;
		import mx.controls.Image;
		import mx.controls.dataGridClasses.DataGridColumn;
		
	 public var posicionX:Number;
	 public var posicionY:Number;
	 public var nombreImagen:String;
	 public var i:Number;
	 public var buses:Array=new Array;
	 
	 
	public function CrearBus(indice:Number,nombreBus:String,posisionx:Number,posiciony:Number):void
	{
	/* en esta funcion se crean de forma dinamica los buses 	
	que se encuentran asiendo un recorrido
	*/
	var bus:Image=new Image();
	bus.source="image1.gif";
	bus.id=nombreBus;
	bus.x=posicionX;
	bus.y=posicionY;
	bus.name=nombreBus;
	bus.width=80;
	bus.height=100;
	bus.toolTip=nombreBus;
	// una vez creados se guardan en un array
	buses[indice]=bus;
	// se agregan al display para ser visualizados
	addChild(bus);
	
	}// se crean los buses	
	
	
	public function generarbuses():void
	{
	var columnasArray:Array=data.columns;	
	posicionX=300;
	posicionY=100;
	nombreImagen="bus";
	i=1;
	var j:Number;
	for(j=0; j<=i-1; j++)
	{
	CrearBus(j,nombreImagen+j,posicionX,posicionY);
	
	posicionY=posicionY+50;
	}// end for
	
	}
	
	public function action(cantidad:Number)
	{
	
	posicionX=cantidad;
	var j:Number;	
	for (j=0; j<=cantidad; j++)
	 { 
	var busesMover:Image=new Image()
	busesMover=buses[j];
	busesMover.x=posicionX;
	 } 
	}		
	
	public function interval()
	{
	action(data.columns[4]);
	}
	

		
	]]>
</mx:Script>	

<mx:HTTPService id="servicio1"
url="http://172.16.0.60/prueba.php"
method="POST"
>


</mx:HTTPService>
	
	<mx:DataGrid  visible="true" id="data" dataProvider="{servicio1.lastResult.buses.bus}" right="44" bottom="116">
		<mx:columns>
			<mx:DataGridColumn  id="idd"  headerText="nombre bus" dataField="id"/>
			<mx:DataGridColumn id="xx" headerText="posicion x" dataField="x"/>
			<mx:DataGridColumn id="yy" headerText="posicion" dataField="y"/>
			<mx:DataGridColumn id="Cantidadd" headerText="cantidad de buses" dataField="cantidad"/>
			
		</mx:columns>
	</mx:DataGrid>
	
	

	
</mx:Application>
lado del servidor : prueba.php

Código:
header('Content-type: text/xml');

echo "<buses>";
echo "<bus>";
echo "<id>bushttpservice</id>";
echo "<x>600</x>";
echo "<y>200</y>";
echo "<cantidad>4</cantidad>";
echo "</bus>";
echo "</buses>";