首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

flex treegrid编者操作

2012-11-25 
flex treegrid编辑操作最近项目中要用到treegrid的crud功能,download了flexlib,可是发现没有demo,在网上也

flex treegrid编辑操作

最近项目中要用到treegrid的crud功能,download了flexlib,可是发现没有demo,在网上也没有找到。所以自己实现了一下。以下是代码,拿 去用吧。直接拷嘛。



窗口组件:

TreeGridWindow.mxml

<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:flexlib="http://code.google.com/p/flexlib/"layout="horizontal"creationComplete="handleCreationComplete()" ><mx:Style>.datagridStyle{alternatingItemColors: #666666, #666666;rollOverColor: #ff9933;textRollOverColor: #000000;selectionColor: #ff6600;color: #ffffff;textSelectedColor: #0b333c;}.dataGridHeader{color: #000000;}</mx:Style><mx:Script><![CDATA[import com.gwtjs.TreeGridEditorWindow;import mx.collections.ArrayCollection;import mx.collections.XMLListCollection;import mx.controls.Alert;import mx.controls.Tree;import mx.events.CollectionEvent;import mx.events.ListEvent;import mx.managers.PopUpManager;[Bindable]public var currentNode:XML ;[Bindable]public var parentNode:XML;[Bindable]public var treegridData:XMLList;[Bindable]private var dataProviderArrayCollection : ArrayCollection;protected function addClickHandler(event:MouseEvent):void{var openWin:TreeGridEditorWindow = new TreeGridEditorWindow();PopUpManager.addPopUp(openWin,this,true);PopUpManager.centerPopUp(openWin);openWin.winWidth = 600;//动态改变弹出窗口的宽度,这是方函妹妹要用的。openWin.currentNode = currentNode;openWin.parentNode = currentNode;openWin.action = "Insert";Alert.show(currentNode.@name);}protected function editorClickHandler(event:MouseEvent):void{var openWin:TreeGridEditorWindow = new TreeGridEditorWindow();PopUpManager.addPopUp(openWin,this,true);PopUpManager.centerPopUp(openWin);openWin.winWidth = 300;//动态改变弹出窗口的宽度,这是方函妹妹要用的。openWin.currentNode = currentNode;openWin.parentNode = parentNode;openWin.action = "Update";}protected function removeClickHandler(event:MouseEvent):void{// TODO Auto-generated method stub}public function handleCreationComplete() : void{treegridData = dataProviderXMLList;myTreeGrid.addEventListener(CollectionEvent.COLLECTION_CHANGE,openItem);}public function openItem(event:CollectionEvent):void{var dataPro:XMLListCollection=(event.currentTarget as TreeGrid).dataProvider as XMLListCollection;var len:int=dataPro?dataPro.length:0;for(var i:int=0;i<len;i++){ var itemPro:XML=myTreeGrid.dataProvider[i];myTreeGrid.openItemAt(i,itemPro);var num:int=itemPro.children().length();var subItem:XMLList=itemPro.elements();for(var j:int=0;j<num;j++){if(subItem[j].children().length()>0)myTreeGrid.openItemAt(j+1,subItem[j]);}}}protected function treegridItemClickHandler(event:ListEvent):void{var tree:TreeGrid = TreeGrid(event.target);currentNode = XML(tree.selectedItem);if(null!=currentNode.parent()){parentNode = currentNode.parent();}//Alert.show(currentNode.@id+" "+currentNode.@name,parentNode.@name);}]]></mx:Script><mx:XMLList id="dataProviderXMLList"><node id="1" name="Companies" type="COMPANIES" desc="All Companies" statusIcon="statusIcon"><node id="2" name="Adobe" type="COMPANY" desc="Adobe inc." statusIcon="statusIcon"><node id="5" name="Adobe Consulting" type="COMPANY" desc="Adobe (formerly macromedia)" statusIcon="statusIcon" /><node id="6" name="EDBU" type="COMPANY" desc="Database company" statusIcon="statusIcon" /></node><node id="3" name="Macromedia" type="COMPANY" desc="Adobe (formerly macromedia)" statusIcon="statusIcon" /><node id="4" name="Oracle" type="COMPANY" desc="Database company" statusIcon="statusIcon" /></node>   </mx:XMLList><mx:VBox width="100%" height="100%" backgroundColor="#FFFFFF"><mx:Label text="dataProvider: XMLList " fontSize="10" fontWeight="bold" /><mx:HBox width="100%"><mx:Button click="addClickHandler(event)" label="添加" /><mx:Button click="editorClickHandler(event)" label="修改" /><mx:Button click="removeClickHandler(event)" label="删除" /></mx:HBox><flexlib:TreeGrid id="myTreeGrid"width="100%" height="100%" itemClick="treegridItemClickHandler(event)"dataProvider="{ treegridData }"paddingLeft="25"verticalTrunks="none"><flexlib:columns><flexlib:TreeGridColumn dataField="@name" headerText="name" /><mx:DataGridColumn dataField="@desc" headerText="desc" /></flexlib:columns></flexlib:TreeGrid></mx:VBox></mx:Application>



2楼flash8627前天 22:00
拷贝不评论不厚道
1楼wzdiy520前天 21:48
超赞

热点排行