Foros del Web » Creando para Internet » Flash y Actionscript »

ayuda con datagrid

Estas en el tema de ayuda con datagrid en el foro de Flash y Actionscript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 29/12/2009, 14:15
Avatar de kuroro_lucifer  
Fecha de Ingreso: noviembre-2009
Mensajes: 8
Antigüedad: 15 años
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>";
  #2 (permalink)  
Antiguo 14/01/2010, 09:51
 
Fecha de Ingreso: junio-2008
Mensajes: 51
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: ayuda con datagrid

existe la propiedad selectedItem para el datagrid del cual puedes la informacion en cada una de las filas del datagrid. SUpongo que si tienes un datagrid es para que el usuario seleccion una fila y se muestren las imagenes en conseuencia.

Para ello haz lo siguiente:

en el datagrid añade:

<mx:DataGrid visible="true" id="data" dataProvider="{servicio1.lastResult.buses.bus}" right="44" bottom="116"
itemClick="handlerItemClick(event)">

en el script create el metodo:

[COLOR="rgb(46, 139, 87)"]private function handlerItemClick(event:ListEvent):void
{
//ya veras que hay una propiedad de event con la cual podras acceder al objeto
}[/COLOR]
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:57.