Comunidad de diseño web y desarrollo en internet online

Problema con FLEX y paso de parametros

Citar            
MensajeEscrito el 04 Jun 2009 09:08 pm
Hola a todos, tengo un problema que no he podido solucionar ya que soy muy nuevo en flex y pido de su sabiduria.

Tengo un formulario en una pagina A.html donde pido unos parametros (listbox) los cuales envio a una pagina B.asp por POST, luego en este mismo B.asp tengo el flex el cual llena una grilla con los datos entregados en XML por una pagina C.asp.

El problema es que en ese C.asp creo el XML con una consulta a una base de datos, en la cual necesito los datos entregados por A.html, y no se como hacerlo. Estoy bloqueado, si no fuera por esos parametros todo sería facil (de hecho resulta a las mil maravillas).

Soy nuevo en FLEX, y no se como tengo que hacerlo. Si alguien me pudiera ayudar estaria muy agradecidos.

Por felipecastillof

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Jun 2009 11:49 am
Si la página B recibe datos de A, pásaselos a Flex por flashvars y usa un HTTPService para generar la llamada a C incluyendo los parámetros que se le pasaron

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 05 Jun 2009 07:49 pm
Gracias por la ayuda, el solo hecho de nombrar las flashvar me sirvió para poder investigarlas y solucionar mi problema.
Pero ahora tengo otra duda, cargo los datos correctamente, pero las consultas son un poco larga. Como lo puedo hacer para que cargue los datos mientras está el loading y evitar que quede la grilla vacia mientras se crea el xml??.

He probado insertando la funcion initVars() dentro de distintos eventos de la aplicación, pero no me ha resultado nada.


Mi codigo es el sgte:

Código Flex :

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*"
layout="absolute" initialize="initVars();" width="511" height="202" >

<mx:Script><![CDATA[
     // Declare bindable properties in Application scope.
     import com.abdulqabiz.utils.QueryString;
     
     [Bindable] 
     public var anio:uint;
     [Bindable] 
     public var mes_ini:uint;
     [Bindable] 
     public var mes_fin:uint;
     [Bindable] 
     public var codjz:String;
     [Bindable] 
     public var marca:String;
     [Bindable] 
     public var pond:String;
     [Bindable] 
     public var titulo:String;  
      
     private var qs:QueryString;
     
     // Assign values to new properties.
     private function initVars():void {
        qs = new QueryString();
        //myName = Application.application.parameters.myName;
        anio = qs.parameters.anio;
        mes_ini = qs.parameters.mes_ini;
        mes_fin = qs.parameters.mes_fin;
        codjz = qs.parameters.codjz;
        marca = qs.parameters.marca;
        pond = qs.parameters.pond;
        titulo = qs.parameters.titulo;
        //myName=1103;
        //myHometown = Application.application.parameters.myHometown;
        userRequest.send();
     }
  ]]>
</mx:Script>


<mx:HTTPService 
id="userRequest"
url="http://localhost/planner/flex/pl_1/1-flex-cuadro-resumen.asp"

method="get">

   <mx:request xmlns="">
      <anio>{anio}</anio>
      <mes_ini>{mes_ini}</mes_ini>
      <mes_fin>{mes_fin}</mes_fin>
      <codjz>{codjz}</codjz>
      <marca>{marca}</marca>
      <pond>{pond}</pond>
   </mx:request>
</mx:HTTPService>


<mx:DataGrid id="dgUserRequest"
dataProvider="{userRequest.lastResult.users.user}"
width="493" height="125" top="51" left="8" color="#0D1213">
<mx:columns>
   <mx:DataGridColumn headerText="Tipo"  dataField="campo1" backgroundColor="#a1d0da"/>
   <mx:DataGridColumn headerText="2009"  dataField="campo2"/>
   <mx:DataGridColumn headerText="2008" dataField="campo3"/>
   <mx:DataGridColumn headerText="Crec. %" dataField="campo4"/>
   <mx:DataGridColumn headerText="POA" dataField="campo5"/>
   <mx:DataGridColumn headerText="Cumpl. %" dataField="campo6"/>
</mx:columns>
</mx:DataGrid>
   <mx:Label x="10" y="10" text="{titulo}" width="407" height="33" fontSize="22" id="lblTitulo"/>
</mx:Application>

Por felipecastillof

3 de clabLevel



 

msie8
Citar            
MensajeEscrito el 06 Jun 2009 12:13 pm
Todos los componentes tienen un ciclo de vida que es necesario respetar, es decir no puedes usar datos sobre un layout que no se ha terminado de inicializar (el HTTPService por ejemplo es indispensable en este caso) El evento que marca la disponibilidad de los elementos es creationComplete (no init) y es donde debes poner la llamada a initVars.
Ahora bien, los archivos que genera Flex son bastante pesados, y si por ejemplo solo necesitaras mostrar datos en una pantalla, posiblemente Flash sea una mejor elección ( un archivo de quizás 50 Kb contra uno de 500 Kb), esto es debido que que cualquier siemple pelicula de Flex contiene todo el framework (bastante menos si usas el Release build, pero sigue siendo pesado)
Luego si pasas muchos datos, quizás algún formato binario como AMF sea mas rápido, no se mucho de .Net, creo que puedes usar WebOrb, mírate http://www.adobe.com/devnet/flex/flex_net.html

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 09 Jun 2009 10:25 pm
Gracias por las sugerencias, pero esta no es la unica tabla que tengo para mi aplicacion, y creo que Flex va perfecto con lo que necesito aunque sea más pesado.

Gracias por la ayuda me sirvio muchisimo

Por felipecastillof

3 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.