天天看点

flex DataGrid与Tree 基于xml的绑定

< ? 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{

                //可行

                var id:String=(Tree(e.currentTarget).selectedItem as XML)[email protected]_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>