欢迎来到天天文库
浏览记录
ID:37940041
大小:159.94 KB
页数:12页
时间:2019-06-03
《Flex 构建带有CheckBox的Tree》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、设置带checkBox的树一、重写Tree的TreeItemRenderer,添加checkBoxpackagecom.FunctionTree{importflash.events.Event;importmx.collections.ICollectionView;importmx.collections.IList;importmx.collections.IViewCursor;importmx.controls.CheckBox;importmx.controls.Tree;importmx.controls.treeClasses.ITreeD
2、ataDescriptor;importmx.controls.treeClasses.TreeItemRenderer;importmx.controls.treeClasses.TreeListData;/***支持CheckBox的TreeItemRenderer*@authorMontage*/publicclassTreeCheckBoxRendererextendsTreeItemRenderer{publicfunctionTreeCheckBoxRenderer(){super();}/***表示CheckBox控件从data中所取数据的字
3、段*/privatevar_selectedField:String="selected";protectedvarcheckBox:CheckBox;/***构建CheckBox*/overrideprotectedfunctioncreateChildren():void{super.createChildren();checkBox=newCheckBox();checkBox.addEventListener(Event.CHANGE,changeHandler);addChild(checkBox);}/***点击checkbox时,更新data
4、Provider*@paramevent*/protectedfunctionchangeHandler(event:Event):void{if(data&&data[_selectedField]!=undefined){data[_selectedField]=checkBox.selected;varmyListData:TreeListData=TreeListData(this.listData);vartree:Tree=Tree(myListData.owner);toggleChildren(data,tree);}}privatefun
5、ctiontoggleChildren(item:Object,tree:Tree):void{if(item==null){return;}else{vartreeData:ITreeDataDescriptor=tree.dataDescriptor;vartmpTree:IList=tree.dataProviderasIList;item[_selectedField]=checkBox.selected;tmpTree.itemUpdated(item,_selectedField,item[_selectedField],checkBox.se
6、lected);if(treeData.hasChildren(item)){varchildren:ICollectionView=treeData.getChildren(item);varcursor:IViewCursor=children.createCursor();while(!cursor.afterLast){toggleChildren(cursor.current,tree);cursor.moveNext();}}}}overridepublicfunctionsetdata(value:Object):void{super.dat
7、a=value;checkBox.selected=data[_selectedField];}/***初始化控件时,给checkbox赋值*/overrideprotectedfunctioncommitProperties():void{super.commitProperties();if(data&&data[_selectedField]!=undefined){checkBox.selected=data[_selectedField];}else{checkBox.selected=false;}}/***重置itemRenderer的宽度*
8、/overrideprotectedfunctionmeasure
此文档下载收益归作者所有