收藏 分享(赏)

Flex树形菜单动态加载.docx

上传人:kpmy5893 文档编号:7657134 上传时间:2019-05-23 格式:DOCX 页数:3 大小:40.56KB
下载 相关 举报
Flex树形菜单动态加载.docx_第1页
第1页 / 共3页
Flex树形菜单动态加载.docx_第2页
第2页 / 共3页
Flex树形菜单动态加载.docx_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、Flex 树形菜单动态加载 Flex Tree Dynamic Loading1. 设计目标:Flex 中 Tree 动态加载,即在点击之后才加载下级目录的内容. 2. 概要设计:Tree 的属性: dataDescriptor=“new CategoryTreeDataDiscriptor()“ dataProvider=“Category.root“ id=“treeCategory“ 通过 root 对象与 dataDescriptor 提供给 Tree 数据.初始化成功后即在 Tree 上监听函数: treeCategory.addEventListener(TreeEvent.ITE

2、M_OPEN, treeOpenHandler); 在 TreeEvent.ITEM_OPEN 发生之后,读取数据库或其他数据源的数据,以建立其下级目录.3. 实现代码:在用户登录成功之后会立即读取数据并新建其对应的根目录,并将其赋值给静态变量 Category.root. 为了提示用户目录正在加载,同时也作为已经加载过的标记,为每个新建的Category 中加入一个 fake Category; 实现方法: category 的代码,在每次新建 category 的时候都会增加 fake,当建立 fake 时不会增加. view plaincopy to clipboardprint?1.

3、public class Category 2. 3. public static var fake:Category = new Category(true); 4. fake.label = “Loading“; 5. 6. Bindable 7. public static var root : Category; 8. 9. public var id:int; 10. public var label : String; 11. public var subCats : ArrayCollection; 12. public var notes : ArrayCollection;

4、13. public var parent : Category; 14. 15. public function Category(isFake:Boolean=false) 16. if(!isFake) 17. addSubCat(fake); 18. 19. 20. treeOpenHandler:如果为第一次展开即其子目录只有一个,并且为 fake,则读取数据源数据,建立其下级目录对象,将下级目录对象加入到该目录的子目录 ArrayCollection 中. 1. /Tree 响应函数,展开后读取子目录 2. private function treeOpenHandler(e:Tr

5、eeEvent):void 3. openingItem = e.item as Category; 4. LogUtils.defaultLog.info(openingItem.label + “ is opened“);5. if(openingItem = Category.fake) 6. Alert.show(“正在加载,请稍候.“); 7. return; 8. 9. if(openingItem as Category).subCats = null) 10. return; 11. 12. if(openingItem as Category).subCats.length

6、!=1 | (openingItem as Category).subCats0 != Category.fake) 13. return; 14. 15. var sql:String = 16. “SELECT * FROM Cat WHERE user_ID=“ + currentUser.id + “ AND “ + “parent_ID=“ + openingItem.id + “;“; 17. SQLUtils.createAndExecuteStatement(conn,sql,null,loadSubCatsOk,loadSubCatsError); 18. 19. 20. /

7、当 load 正常时,运行,增加子目录,首先会删除 fake. 21.private function loadSubCatsOk(e:SQLEvent):void 22. var CatsFromDB:SQLResult = e.target.getResult(); 23. if(CatsFromDB.data = null) 24. openingItem.subCats.removeAll(); 25. LogUtils.defaultLog.info(openingItem.label + “没有子目录“); 26. return; 27. 28. openingItem.subCats.removeAll(); 29. for(var i:int=0; i

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报