flex DataGrid与Tree 基于xml的绑定

来源:互联网 发布:排版相册套版软件 编辑:程序博客网 时间:2024/06/17 10:31

< ? xml version="1.0" encoding="utf-8"?>
< mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
    showStatusBar="false" fontFamily="宋体" fontSize="12"
     applicationComplete="fullWindow()"
    >
    < mx:Script>
        < ![CDATA[
            import mx.collections.ArrayCollection;
            private var inited:Boolean=false;
            [Bindable]
            private var sList:Array;//可行
            [Bindable]
            private var uList:XMLList;
            private function fullWindow():void{
                //stage.nativeWindow.maximize();//与下面的效果想同,但作用不同
                //stage.displayState= StageDisplayState.FULL_SCREEN;
                inited=true;
            }
            [Bindable]
            private var Cols:Array=["姓名","性别","年龄"];
            [Bindable]
            private var dgCols:XML=  //这里还未实现绑定列标题
                < Cols>
                    < Col>姓氏< /Col>
                    < Col>性别< /Col>
                    < Col>年纪< /Col>
                < /Cols>
            private function get_Cols():String{
                trace(dgCols.Col);
                return dgCols.Col;   
            }
            [Bindable]//dataProvider="{Members.Persions.Persion}" 可行
            private var Members:XML=
                < Members>           
                    < Persions id="da001">
                        < Persion>
                            < name>张< /name>
                            < sex>sex1< /sex>
                            < age>27< /age>
                        < /Persion>
                        < Persion>
                            < name>王< /name>
                            < sex>sex2< /sex>
                            < age>28< /age>
                        < /Persion>   
                    < /Persions>   
                    < Persions id="ds001">
                        < Persion>
                            < name>李< /name>
                            < sex>sex3< /sex>
                            < age>29< /age>
                        < /Persion>
                        < Persion>
                            < name>赵< /name>
                            < sex>sex4< /sex>
                            < age>30< /age>
                        < /Persion>   
                    < /Persions>   
                < /Members>                       
            private function getxml(e:Event):void{
                /*sList=new Array();
                sList=[
                {name:"goldli",sex:"m",age:"234"},{name:"goldli22",sex:"m22",age:"22234"}
                ];
                trace(sList);*///可行
                var id:String=(Tree(e.currentTarget).selectedItem as XML).@d_ID;
                trace(id);
                uList=Members.Persions.(@id==id).Persion;
                //trace(uList);
            }   
        ]]>
    < /mx:Script>
    < mx:XMLList id="deparement" >
        < node label="部门列表" d_ID="d0000">
            < node label="财务部" d_ID="da000">
                < node label="财务一科" d_ID="da001"/>
                < node label="财务二科" d_ID="da002"/>
                < node label="财务三科" d_ID="da003"/>
                < node label="财务四科" d_ID="da004"/>
                < node label="财务五科" d_ID="da005"/>
            < /node>
            < node label="市场部" d_ID="ds000">
                < node label="市场调研部" d_ID="ds001"/>
                < node label="市场策划部" d_ID="ds002"/>
                < node label="市场执行部" d_ID="ds003"/>
            < /node>
            < node label="采购部" d_ID="dc000">
                < node label="原料采购部"   d_ID="dc001"/>
                < node label="半成品采购部" d_ID="dc002"/>
                < node label="成品采购部"   d_ID="dc003"/>
            < /node>           
        < /node>
    < /mx:XMLList>
    < mx:XMLList id="employee">
            < Persion>
                < name>Jone0< /name>
                < sex>mail< /sex>
                < age>20< /age>
            < /Persion>
            < Persion>
                < name>Jone1< /name>
                < sex>mail< /sex>
                < age>20< /age>
            < /Persion>
            < Persion>
                < name>Jone2< /name>
                < sex>mail< /sex>
                < age>20< /age>
            < /Persion>
            < Persion>
                < name>Jone3< /name>
                < sex>mail< /sex>
                < age>20< /age>
            < /Persion>                                               
            < Persion>
                < name>Jone4< /name>
                < sex>mail< /sex>
                < age>20< /age>
            < /Persion>
            < Persion>
                < name>Jone5< /name>
                < sex>mail< /sex>
                < age>20< /age>
            < /Persion>
            < Persion>
                < name>Jone6< /name>
                < sex>mail< /sex>
                < age>20< /age>
            < /Persion>
            < Persion>
                < name>Jone7< /name>
                < sex>mail< /sex>
                < age>20< /age>
            < /Persion>
            < Persion>
                < name>Jone8< /name>
                < sex>mail< /sex>
                < age>20< /age>
            < /Persion>
            < Persion>
                < name>Jone9< /name>
                < sex>mail< /sex>
                < age>20< /age>
            < /Persion>
            < Persion>
                < name>Jone10< /name>
                < sex>mail< /sex>
                < age>20< /age>
            < /Persion>
            < Persion>
                < name>Jone11< /name>
                < sex>mail< /sex>
                < age>20< /age>
                < /Persion>
            < Persion>
                < name>Jone12< /name>
                < sex>mail< /sex>
                < age>20< /age>
            < /Persion>
            < Persion>
                < name>Jone13< /name>
                < sex>mail< /sex>
                < age>20< /age>
            < /Persion>
            < Persion>
                < name>Jone14< /name>
                < sex>mail< /sex>
                < age>20< /age>
            < /Persion>
            < Persion>
                < name>Jone15< /name>
                < sex>mail< /sex>
                < age>20< /age>
            < /Persion>
    < /mx:XMLList>
    < mx:MenuBar x="0" y="0" width="100%" height="25" id="MainMenu">
    < /mx:MenuBar>
    < mx:Panel id="PanelHold" title="...信息表" layout="absolute" bottom="0" top="26" left="0" right="0">
        < mx:constraintColumns>
            < mx:ConstraintColumn id="Panel3_col1" width="0%"/>
            < mx:ConstraintColumn id="Panel3_col2" width="100%"/>
        < /mx:constraintColumns>
        < mx:HDividedBox x="163" y="156" width="100%" height="100%" left="0" top="0">
            < mx:Tree height="100%" width="40%" id="deTree" dataProvider="{deparement}" labelField="@label" change="getxml(event)">< /mx:Tree>
            < mx:DataGrid height="100%" width="60%" id="userList" dataProvider="{uList}">
                < mx:columns>
                    < mx:DataGridColumn headerText="姓名" dataField="name"/>       
                    < mx:DataGridColumn headerText="性别" dataField="sex"/>
                    < mx:DataGridColumn headerText="年龄" dataField="age"/>
                < /mx:columns>
            < /mx:DataGrid>
        < /mx:HDividedBox>
    < /mx:Panel>
< /mx:WindowedApplication>

原创粉丝点击