flex 上拉页面显示datagrid

来源:互联网 发布:销售数据分析范文 编辑:程序博客网 时间:2024/05/22 01:58

flex:3.0

本篇blog参考:http://blog.minidx.com/2008/08/02/1208.html、http://blog.minidx.com/2008/10/04/1473.html

写这篇博客主要是因为这两天做的东西涉及到了flex中的visible和includeinlayer属性,通过这两个属性可以重新布局页面,达到动态布局的效果,但是自己在做的时候,设置这两个属性的时候老是有问题,可能是和其他东西冲突吧,不过写了一个简单的进行测试,就很容易通过了。下面给出代码和效果:

效果1:(参考链接1,这个不是通过visible和includeinlayer属性设置的)

原始页面:



点击show,出现下面的界面(直接上拉填充页面):


代码如下:

<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"        layout="vertical"        verticalAlign="middle"        backgroundColor="white">     <mx:transitions>        <mx:Transition fromState="*" toState="*">            <mx:Parallel targets="{[vbox2]}">                <mx:WipeDown />                <mx:Fade />            </mx:Parallel>        </mx:Transition>    </mx:transitions>     <mx:states>        <mx:State name="expanded">            <mx:AddChild relativeTo="{vbox3}" position="after">                <mx:VBox id="vbox2"                        width="100%"                        height="100%"                        backgroundColor="haloGreen" textAlign="center">                    <mx:DataGrid id="bId" dataProvider="{arr_my}"  width="100%" height="100%" doubleClickEnabled="true" showHeaders="true" ><mx:columns><mx:DataGridColumn headerText="bbb Text" dataField="bbb" /> </mx:columns> </mx:DataGrid>                </mx:VBox>            </mx:AddChild>        </mx:State>    </mx:states>     <mx:Style>        VBox {            paddingLeft: 10;            paddingRight: 10;            paddingTop: 10;            paddingBottom: 10;        }    </mx:Style>     <mx:Script>        <![CDATA[        import mx.collections.ArrayCollection;            import mx.effects.easing.*;                        private var helpIcon:Class;             private function toggleExpanded():void {                switch (currentState) {                    case "expanded":                        currentState = "";                        break;                    default:                        currentState = "expanded";                        break;                }            }            [Bindable]            private var arr_my:ArrayCollection=new ArrayCollection([            {aaa:"aaa",bbb:"bbb"},{aaa:"a1aa",bbb:"1bbb"},{aaa:"aaa2",bbb:"bbb2"}                        ]);        ]]>    </mx:Script>     <mx:VBox width="100%" height="100%">        <mx:VBox id="vbox1"                width="100%"                height="50"                 textAlign="center">            <mx:HBox>            <mx:Label text="测试上拉窗口示例" />            <mx:Button label="show" click="toggleExpanded()" />        </mx:HBox>        </mx:VBox>         <mx:VBox id="vbox3"                width="100%"                height="100%"                backgroundColor="haloBlue"                 textAlign="center">            <mx:DataGrid id="aId" dataProvider="{arr_my}"  width="100%" height="100%" doubleClickEnabled="true" showHeaders="true" ><mx:columns><mx:DataGridColumn headerText="aaa Text" dataField="aaa" /> </mx:columns> </mx:DataGrid>        </mx:VBox>    </mx:VBox> </mx:Application>

效果二,(参考链接2,这个是通过visible和includeinlayer属性设置的)

原始页面:


点击show,得到:



原始代码如下:

<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"><mx:Script><![CDATA[import mx.collections.ArrayCollection;import mx.controls.Alert; [Bindable]            private var arr_my:ArrayCollection=new ArrayCollection([            {aaa:"aaa",bbb:"bbb"},{aaa:"a1aa",bbb:"1bbb"},{aaa:"aaa2",bbb:"bbb2"}                        ]);            [Bindable]            private var flag:Boolean =false;            private function la():void{            //Alert.show("ahh");            if(!flag){            flag=!flag;            }else{            flag=!flag;                        }            }]]></mx:Script><mx:VBox x="100" y="100" width="500" height="500" backgroundColor="white"><mx:HBox width="100%" height="40"><mx:Label text="测试上拉界面" /><mx:Button label="show" click="la()" /></mx:HBox><mx:VBox width="100%" height="100%"><mx:DataGrid id="aId" dataProvider="{arr_my}"  width="100%" height="100%" doubleClickEnabled="true" showHeaders="true" ><mx:columns><mx:DataGridColumn headerText="aaa Text" dataField="aaa" /> </mx:columns> </mx:DataGrid><mx:DataGrid id="bId" dataProvider="{arr_my}"  width="100%" height="100%" doubleClickEnabled="true" showHeaders="true" visible="{flag}" includeInLayout="{flag}"><mx:columns><mx:DataGridColumn headerText="bbb Text" dataField="bbb" /> </mx:columns> </mx:DataGrid></mx:VBox></mx:VBox></mx:Application>

如果您觉得lz的blog或者资源还ok的话,可以选择给lz投一票,多谢。(投票地址:http://vote.blog.csdn.net/blogstaritem/blogstar2013/fansy1990 )



分享,成长,快乐

转载请注明blog地址:http://blog.csdn.net/fansy1990


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 移动4g网速慢怎么办 小孩装病不去上学怎么办 卖衣服顾客嫌贵怎么办 当顾客说再看看怎么办 读完高中没考上大学怎么办 手抖不会写字了怎么办 字认识写不出来怎么办 八四把衣服发黄怎么办 孩孑在学校被打怎么办 在学校有人打我怎么办 孩子在学校不爱说话怎么办 孩子上幼儿园不和小朋友玩怎么办 遇到有人要打你怎么办 被表白了怎么办神回复 学校要发展我该怎么办 如果有人要打你怎么办 梦见有人要杀我怎么办 如果有人要杀我怎么办 梦到有人要杀我怎么办 感觉有人要杀我怎么办 我很自卑 没自信怎么办 如果在学校被打怎么办 如果有人打我该怎么办 别人要砍我我怎么办 专四两次没过怎么办 3岁宝宝害羞胆小怎么办 人太老实被欺负怎么办 在外面被欺负了怎么办 同学们老欺负我怎么办 孩子在学校受欺负怎么办 来例假吃了螃蟹怎么办 流产后受风头疼怎么办 种鸽配种无精怎么办 有钱但不舍得花怎么办 黑户急用3万块钱怎么办 和室友闹矛盾了怎么办 型煤炉不好烧是怎么办 生完孩子记性差怎么办 脑子记忆力好差怎么办啊 脸和驴脸一样长怎么办 看3d电影近视眼怎么办