Flex的数据绑定方式一览

       学Flex2个多星期了,也没觉得有什么难的地方,可能是老外写的那本<<Flex权威指南>>比较浅显易懂吧,有时不得不佩服老外做事的认真劲和耐心,图文对照,很容易理解。现在数据绑定部分看完了,总结一下书中提到的数据绑定方式。

      1.数据存放在XML文件中,XML文件存在在工程内,可以直接引用,方式如下:

         <mx:Model id="xxx" source="yyy">yyy为XML文件路径+文件名。然后在事件中进行绑定,比如:

         <mx:Button click="do(xxx)"/> xxx为上面的id,do(xxx)为AS方法名,通过该方法将数据绑定到控件上。

      2.数据来自事件event,target事件源,比如被点击的某个控件; type事件类型,比如Click,mouseover等等。主要谈谈比较特殊的mx.rpc.events.ResultEvent,这个事件封装了HTTP请求的返回数据。

 <mx:HTTPService id="catRPC" url="http://www.flexgrocer.com/category.xml" result="catHandler(event)" resultFormat="e4x"/>

在catHandler(event)中,可以直接从event中获取数据源用于绑定。具体实现方法如下:

         1)在Script块创建1个变量aaa,并加上[Bindable]标签,表明该数据可用于绑定。

         2)在catHandler(event)函数中,将event封装的请求返回数据赋值给aaa;

         3)在程序里可以就可以将aaa用于数据绑定了,e4x就是ActionScript原生的XML对象。

      3.用于数据绑定的特殊类ArrayCollection,该类在数据发生变化时,视觉显示也会随着更新。

      4.将对象的某个属性绑定到List等控件时,除了要指定绑定的数据源,还要指定绑定的对象属性。

         <mx:List rowCount="4" dataProvider="{units}" labelField="unitName"/>    

          dataProvider数据源 labelField绑定的属性名

       5.@Embed标签用来决定是否把引用的文件编译进FLASH文件。

       6.for each(var p:XML in event.result..product){},2个点表示后代存取器,表示遍历出result中所有的product节点。

       7.{}用于数据绑定,@取绑定对象的属性。

       <mx:Button id="Add" label="Add to Cart" click="addToCart(inventory.getItemAt(0) as Product)"/>

        as表示希望编译器忽略类型差别把取出来的元素当Product类处理。

       8.排序

          var prodSort:Sort = new Sort();

          var sortField:SortField = new SortField("product");  //对product进行排序

          prodSort.fields = new Array(sortField);

          aItems.sort = prodSort;

          aItems.refresh();

        9.IViewCursor接口,调用ArrayCollection的createCursor()方法可以获得cursor,然后可以ORACLE操作游标一样操作ArrayCollection。       

          findFirst(),findAny(),moveNext(); remove();

        10.命名空间namespace,用来标示将引用的资源的路径。

        11.TitleWindow适合用来做弹出窗口。mx.managers.PopUpManager类可以创建弹出窗口。

         ConfirmScreen win = ConfirmScreen(PopUpManager.createPopUp(this,ConfirmScreen,true));this指当前控件,第2个是弹出的窗体类型,第3个参数表示是否是模式窗口。

        12.HorizontalList沿水平方向显示项目,TileList动态创建大小相等的行列显示项目。

             labelField绑定的字段名称 labelFunction调用函数绑定(可以将数据预处理了显示)。itemRender属性可以用来显示图片,itemRender属性指向某个MXML文件。

         13.Repeater 相当于for循环对数据集进行遍历。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值