flex中的动态实现remoteobject

在flex中,一般直接在设计时写remoteobject的话,这个是比较普遍了,但有的时候,需要在AS代码中动态设置

remoteobject,这个比较少见,所以小结学习之:

   情景是,当页面加载时,代码新建立一个remoteobject,然后设置其方法和调用参数,最后把调用返回的结果(是JAVA中的一个LIST),绑定到

一个repeater控件中去,下面来看代码:

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="firstload()" width="706" height="417">

 

  [Bindable]   
            private var posArray:ArrayCollection = new ArrayCollection();    
   
   private function firstload():void
   {
    var categoryremote:RemoteObject=new RemoteObject();   
     categoryremote.destination="categoryservice";
   var o:AbstractOperation = categoryremote.getOperation("getCategoriesByPidflex");   
     o.send(144);   
  o.addEventListener(ResultEvent.RESULT, resultEvent);   
   }

//remoteobject返回的list
   private function resultEvent(event:ResultEvent):void{ 
    
     posArray = event.result as ArrayCollection;
    r.dataProvider=posArray;
    
   }
   private function findAllFaultHandler(event:FaultEvent):void
   {
    Alert.show(event.fault.faultString, "Error");
   }

  注意用o.send中,包含了要发送的参数,  o.addEventListener(ResultEvent.RESULT, resultEvent)中,处理返回的结果事件。

 <mx:Repeater id="r">
      
                   <mx:Button id="repbutton" label="{Category(r.currentItem).name}" click="var btn:Button = Button(event.currentTarget);Alert.show(Category(btn.getRepeaterItem()).id); " width="555" height="83" textAlign="center" fontSize="27"/>
</mx:Repeater>

这里注意repeater R的dataprovider是动态设置的,在代码中,并且当点repeater中的每个按钮时,取得了所点选的button的id编号(注意这里因为列出的是一个个

category类,所以要先转型为Category,然后再获得其id

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值