[RESOLVIDO] Exemplo flex + progress sem utilizar framework

Discussão em 'WebSpeed' iniciado por Rudy, Setembro 13, 2011.

  1. Rudy

    Rudy Membro Participativo

    Alguém tem algum exemplo onde progress passa os dados para o flex e vice-versa?
  2. ChacMaster

    ChacMaster Membro Participativo

    Re: Exemplo flex + progress sem utilizar framework

    o que você se refere como framework??

    para rodar progress com flex, você precisa apenas do webspeed rodando, mais nada, o resto serve apenas de "perfumarias"
  3. baltazar

    baltazar Membro Participativo

    Re: Exemplo flex + progress sem utilizar framework

    Tem que utilizar WebServices para comunicar com o Flex. Existe muita documentação como fazer isso.

    Não é dificil.
  4. Rudy

    Rudy Membro Participativo

    Re: Exemplo flex + progress sem utilizar framework

    Já instalei e configurei o webspeed. O que eu quero é um exemplo de como o progress passa os dados para flex e de como o flex passa para o progress.

    Por exemplo:

    Como posso listar os dados de customer em uma grid do flex...
  5. ChacMaster

    ChacMaster Membro Participativo

    Re: Exemplo flex + progress sem utilizar framework

    Buenas,

    na parte do flex, tu podes usar algo parecido com isto...


    Código:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="Inicializar()">	
    
    	<mx:AdvancedDataGrid id="DgPedidos" designViewDataType="tree" width="900" height="386" selectionMode="singleRow" x="{Application.application.width / 7}" y="67" alpha="0.5"  dataProvider="{companyHierarchy}">
    		<mx:columns>
    			<mx:AdvancedDataGridColumn headerText="Cliente / Pedido / Item" width="90" dataField="@cpi" textAlign="left" />
    			<mx:AdvancedDataGridColumn headerText="Dt Pedido / Desc Item"   width="90" dataField="@dpi" textAlign="left" />
    			<mx:AdvancedDataGridColumn headerText="Dt Entrega / Quantidade" width="90" dataField="@deq" textAlign="left" />
    			<mx:AdvancedDataGridColumn headerText="Vendedor / Vl Unitário"  width="90" dataField="@vvl" textAlign="left" />
    			<mx:AdvancedDataGridColumn headerText="Vl Pedido / Vl Total"    width="90" dataField="@vpt" textAlign="left" />
    		</mx:columns>
    	</mx:AdvancedDataGrid>
    
    	<mx:Script>
    		<![CDATA[
    
    			import mx.rpc.events.ResultEvent;
    			
    			import mx.collections.HierarchicalData;
    
    			[Bindable]
    			private var companyHierarchy:HierarchicalData;
    
    			private function Inicializar():void
    			{
    				HttpBuscaPedidos.send();
    			}
    
    			private function RetBuscaPedidos(event:ResultEvent):void
    			{
    				var companyData:XML  = new XML(event.result);
    
    				companyHierarchy = new HierarchicalData(companyData.cliente);
    	     		
    			}
    		]]>
    	</mx:Script>
    	<mx:HTTPService id="HttpBuscaPedidos"
    			url="http://localhost/scripts/cgiip.exe/WService=wsbroker1/customer.p"
    			result="{RetBuscaPedidos(event)}"
    			resultFormat="e4x"
    			showBusyCursor="true"
    	/>
    </mx:Application>
    
    e na parte do progress tu podes usar algo parecido com isto...

    Código:
    
    /*salvar como customer.p no diretório raiz*/
    
    {src/web2/wrap-cgi.i}
    
    output-content-type ("text/xml":U).
    
    {&OUT} '<?xml version="1.0" encoding="utf-8"?>' Skip
           '<clientes>' Skip.
    
    
    Define Variable d-val-total As Decimal No-undo.
    
    For Each customer No-lock
        Break By customer.cust-num:
    
        If First-of(customer.cust-num) 
        Then Do:
           {&OUT} '<cliente cpi=~"' customer.Name '~">' skip.
        End.
    
        For Each order Of customer No-lock
            Break By order.order-num:
           
            If First-of(order.order-num)
            Then Do:
               {&OUT} '<pedido cpi=~"' order.order-num '~" dpi=~"' order.ship-date '~" deq=~"' order.promise-date '~">' Skip.
            End.
    
            For Each order-line Of order No-lock:
                Find First Item
                     Where Item.item-num = order-line.item-num
                     No-lock No-error.
    
                {&OUT} '<itens cpi=~"' order-line.item-num '~" dpi=~"' Item.item-name '~" deq=~"' order-line.qty '~" vvl=~"' order-line.price '~" vpt=~"' String(order-line.qty * order-line.price) '~"/>' Skip.
            End.
    
            If Last-of(order.order-num)
            Then Do:
               {&OUT} '</pedido>' Skip.
            End.                          
    
    
        End.
    
    
        If Last-of(customer.cust-num) 
        Then Do:
           {&OUT} '</cliente>' Skip.
        End.
    
    End.
    
    {&OUT} '</clientes>' Skip.
    
    
    só copiando e colando isto ja deve rodar beleza :D
  6. Rudy

    Rudy Membro Participativo

    Re: Exemplo flex + progress sem utilizar framework

    Caro ChacMaster, obrigado pelo exemplo. Não deu erro para compilar, mas não consigo testar, pq quando tento executa-lo a partir do meu diretório de trabalho no webspeed o grid feito em flex não carrega.

    Alguém pode me ajudar?

Compartilhe esta Página