加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex的数据绑定方式一览

发布时间:2020-12-15 01:37:14 所属栏目:百科 来源:网络整理
导读:?????? 学Flex2个多星期了,也没觉得有什么难的地方,可能是老外写的那本Flex权威指南比较浅显易懂吧,有时不得不佩服老外做事的认真劲和耐心,图文对照,很容易理解。现在数据绑定部分看完了,总结一下书中提到的数据绑定方式。 ????? 1.数据存放在XML文件

?????? 学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循环对数据集进行遍历。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读