Flex树形菜单动态加载.docx_第1页
Flex树形菜单动态加载.docx_第2页
Flex树形菜单动态加载.docx_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Flex树形菜单动态加载 Flex Tree Dynamic Loading1. 设计目标:Flex中Tree动态加载,即在点击之后才加载下级目录的内容. 2. 概要设计:Tree的属性: dataDescriptor=new CategoryTreeDataDiscriptor() dataProvider=Category.root id=treeCategory 通过root对象与dataDescriptor提供给Tree数据.初始化成功后即在Tree上监听函数: treeCategory.addEventListener(TreeEvent.ITEM_OPEN, treeOpenHandler); 在TreeEvent.ITEM_OPEN发生之后,读取数据库或其他数据源的数据,以建立其下级目录.3. 实现代码:在用户登录成功之后会立即读取数据并新建其对应的根目录,并将其赋值给静态变量Category.root. 为了提示用户目录正在加载,同时也作为已经加载过的标记,为每个新建的Category中加入一个fake Category; 实现方法: category的代码,在每次新建category的时候都会增加fake,当建立fake时不会增加. view plaincopy to clipboardprint?1. publicclassCategory2. 3. publicstaticvarfake:Category=newCategory(true);4. fake.label=Loading.;5. 6. Bindable7. publicstaticvarroot:Category;8. 9. publicvarid:int;10. publicvarlabel:String;11. publicvarsubCats:ArrayCollection;12. publicvarnotes:ArrayCollection;13. publicvarparent:Category;14. 15. publicfunctionCategory(isFake:Boolean=false)16. if(!isFake)17. addSubCat(fake);18. 19. .20. treeOpenHandler:如果为第一次展开即其子目录只有一个,并且为fake,则读取数据源数据,建立其下级目录对象,将下级目录对象加入到该目录的子目录ArrayCollection中. 1. /Tree响应函数,展开后读取子目录2. privatefunctiontreeOpenHandler(e:TreeEvent):void3. openingItem=e.itemasCategory;4. LogUtils.defaultL(openingItem.label+isopened);5. if(openingItem=Category.fake)6. Alert.show(正在加载,请稍候.);7. return;8. 9. if(openingItemasCategory).subCats=null)10. return;11. 12. if(openingItemasCategory).subCats.length!=1|(openingItemasCategory).subCats0!=Category.fake)13. return;14. 15. varsql:String=16. SELECT*FROMCatWHEREuser_ID=+currentUser.id+AND+parent_ID=+openingItem.id+;17. SQLUtils.createAndExecuteStatement(conn,sql,null,loadSubCatsOk,loadSubCatsError);18. 19. 20. /当load正常时,运行,增加子目录,首先会删除fake.21. privatefunctionloadSubCatsOk(e:SQLEvent):void22. varCatsFromDB:SQLResult=e.target.getResult();23. if(CatsFromDB.data=null)24. openingItem.subCats.removeAll();25. LogUtils.defaultL(openingItem.label+没有子目录);26. return;27. 28. openingItem.subCats.removeAll();29. for(vari:int=0;icatsfromdb.data.length;i+)=var=subcat:category=newcategory();=subcat.id=CatsFromDB.datai.cat_ID;subcat.label=CatsFromDB.datai.label;subcat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论