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

inicializar aplicacion flex con dos fuentes de datos

Estas en el tema de inicializar aplicacion flex con dos fuentes de datos en el foro de Flash y Actionscript en Foros del Web. Disculpen mi impresición para titular el tema. Tengo que inicializar una aplicación flex con dos fuentes de datos, una para llenar un combobox y otra ...
  #1 (permalink)  
Antiguo 02/05/2010, 10:02
Avatar de fernando_6867  
Fecha de Ingreso: mayo-2009
Ubicación: Parana - Entre Rios
Mensajes: 8
Antigüedad: 15 años
Puntos: 0
inicializar aplicacion flex con dos fuentes de datos

Disculpen mi impresición para titular el tema. Tengo que inicializar una aplicación flex con dos fuentes de datos, una para llenar un combobox y otra para llenar un data grid,

Cuando se inicia la aplicación llama a Productos.leer y luego a Descripciones.leer (en loadAplication() definida en el evento creationComplete de la aplicación). ambos traen dos array. Termina esa función y salta a onResultProductos y onResultDescripciones, el primero asigna el array de valores a "productos" y en el segundo debería asignar el resultado a "descripciones", pero no lo hace, no sé porque le asigna lo valores traídos en onResultProductos a "Descripciones".

Al principio intente definir un gateway para cada "call", pero a medida que la aplicación crece se pone feo el código, no creo que sea adecuado que por cada "call" tenga definir un gateway. No sé.

<mx:Script>
....
[Bindable] public var productos:Array;
public var gateway : clases.RemotingConnection;
[Bindable] public var descripciones:Array;
public var descripcion:Object={"id":"","descripcion":""};
....
public function loadAplicacion() : void{
gateway = new RemotingConnection("http://localhost/amfphp/gateway.php");
gateway.call('Productos.leer', new Responder(onResultProductos, gateway.onFaultRc));
gateway.call('Descripciones.leer', new Responder(onResultDescripciones, gateway.onFaultRc));
}
private function onResultProductos(result: Object) :void {
productos=result as Array;
}
private function onResultDescripciones(result: Object) :void {
descripciones=result as Array; //cuando llega aquí le asigna result=productos
cbDescripcionAlta.dataProvider=descripciones;
cbDescripcionAlta.labelField="DESCRIPCION";
}
private function onResultAgregarProducto(result: Object) :void {
mx.controls.Alert.show("todo ok");
}
//
private function onAgregarProducto(event:Event):void{
gateway.call('Productos.agregar', new Responder(onResultAgregarProducto, gateway.onFaultRc),
producto.codigo,producto.nombre,producto.descripci on, st_path, producto.precio);
}
....

El fichero clases.RemotingConnection.as:
...
public class RemotingConnection extends NetConnection
{
public function RemotingConnection( sURL:String )
{
objectEncoding = ObjectEncoding.AMF0;
if (sURL) connect( sURL );
}

public function onFaultRc( fault: Object) : void{
CursorManager.removeBusyCursor();
Alert.show( "Error: \n" + ObjectUtil.toString(fault) , "Error en Webservices");
}
}
}

fernando
  #2 (permalink)  
Antiguo 02/05/2010, 10:14
Avatar de fernando_6867  
Fecha de Ingreso: mayo-2009
Ubicación: Parana - Entre Rios
Mensajes: 8
Antigüedad: 15 años
Puntos: 0
Mensaje Respuesta: inicializar aplicacion flex con dos fuentes de datos

me olvidaba:
uso Flex3, amfphp, apache2.2, php5, firebird.
el código lo tuve que resumir, pero la aplicación tiene un viewstack con varios panel, para alta,baja,modificación y ver todos,

las tablas, sql:
CREATE TABLE PRODUCTOS
(
CODIGO Varchar(6) NOT NULL,
NOMBRE Varchar(51),
DESCRIPCION Integer foreign key DESCRIPCIONES(ID),
IMAGEN Blob sub_type 0,
IMAGEN_SIZE Integer,
FORMATO_IMAGEN Varchar(10),
PRECIO Numeric(6,2),
PRIMARY KEY (CODIGO)
);

CREATE TABLE DESCRIPCIONES
(
ID Integer NOT NULL,
DESCRIPCION Varchar(52),
PRIMARY KEY (ID)
);

por ejemplo en alta de productos tendría:
<mx:Form label="Alta Producto:">
<mx:Label text="Agregando un Producto:"/>

<mx:FormItem label="Código:" width="100%">
<mx:TextInput id="tiCodigoAlta" text="{producto.CODIGO}" />
</mx:FormItem>

<mx:FormItem label="Nombre:" width="100%" >
<mx:TextInput id="tiNombreAlta" text="{producto.NOMBRE}" />
</mx:FormItem>

<mx:FormItem label="Descripción:" width="100%" >
<mx:ComboBox id="cbDescripcionAlta" width="100%"/>
</mx:FormItem>


<mx:FormItem label="Precio:" width="100%" >
<mx:TextInput id="tiPrecioAlta" text="{producto.PRECIO}" />
</mx:FormItem>

</mx:Form>

fernando

Etiquetas: dos, flex, fuentes, aplicaciones
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:32.