kenlistian

勤学多思

  IT博客 :: 首页 :: 新随笔 ::  :: 聚合  :: 管理 ::
  412 随笔 :: 0 文章 :: 23 评论 :: 0 Trackbacks


这个是采用as3编程的flash例子。其中代码如下:
由此例子可见,as3,和一般编程没有什么2样了,可以说未来,ria的编程也可基于as3.
 1
 2
 3import fl.controls.*;
 4import fl.data.DataProvider;
 5
 6/* 
 7  listA_ls是个列表实例,其属性dataProvider是一个DataProvider类。
 8  DataProvider 类提供一些方法和属性,这些方法和属性允许您查询和修改任何
 9  基于列表的组件(例如,List、DataGrid、TileList 或 ComboBox 组件)中的数据。 
10  下面的对list的sort以及addItem都是该类的方法或属性。
11*/

12listA_ls.dataProvider = new DataProvider(
13[{data:0, label:"January"}
14 {data:1, label:"February"}
15 {data:2, label:"March"}
16 {data:3, label:"April"}
17 {data:4, label:"May"}
18 {data:5, label:"June"}
19 {data:6, label:"July"}
20 {data:7, label:"August"}
21 {data:8, label:"September"}
22 {data:9, label:"October"}
23 {data:10, label:"November"}
24 {data:11, label:"December"}
25 ]);
26
27fromAtoB_btn.addEventListener(MouseEvent.CLICK, aToBClickHandler);
28
29
30/*
31   当点击fromAtoB 按钮,则移动 listA_ls 中选项到listB_ls  
32
33   其中List中包含类属性。和通常编程类似。
34*/

35function aToBClickHandler(event:MouseEvent):void 
36{
37    var listA:List = listA_ls;   //listA_ls 是界面上的实例名
38    var listB:List = listB_ls;
39        
40    if ((listA.length > 0&& (listA.selectedItem != null)) {        
41        listB.addItem(listA.selectedItem);
42        listA.removeItemAt(listA.selectedIndex);
43    }

44}

45
46/*
47  加入处理事件
48*/

49fromBtoA_btn.addEventListener(MouseEvent.CLICK, bToAClickHandler);
50
51/* 
52  如上
53*/

54function bToAClickHandler(event:MouseEvent):void {
55    var listA:List = listA_ls;
56    var listB:List = listB_ls;
57    if ((listB.length > 0&& (listB.selectedItem != null)) {
58        listA.addItem(listB.selectedItem);
59        listB.removeItemAt(listB.selectedIndex);
60    }

61}

62
63
64/* 排序动作 */
65sortA_btn.label = "Sort";
66sortA_btn.addEventListener(MouseEvent.CLICK, sortAClickHandler);
67
68/*
69  sortByMonth是自定义排序函数。
70*/

71function sortAClickHandler(event:MouseEvent):void {
72    listA_ls.sortItems(sortByMonth);
73}

74
75
76/* 排序动作 */
77sortB_btn.label = "Sort";
78sortB_btn.addEventListener(MouseEvent.CLICK, sortBClickHandler);
79function sortBClickHandler(event:MouseEvent):void {
80    listB_ls.sortItems(sortByMonth);
81}

82
83/*
84   这个自定义函数,规范必须有2个参数。
85   返回1,0,-1
86*/

87function sortByMonth(a:Object, b:Object):Number {
88    var aVal:Number = int(a.data);
89    var bVal:Number = int(b.data);
90    if (aVal > bVal) {
91        return 1;
92    }
 else if (aVal < bVal) {
93        return -1;
94    }
 else {
95        return 0;
96    }

97}

posted on 2008-06-07 00:06 kenlistian 阅读(1835) 评论(0)  编辑 收藏 引用 所属分类: Flash
只有注册用户登录后才能发表评论。