zoukankan      html  css  js  c++  java
  • flex DataGroup

    示例1:

    <?xml version="1.0" encoding="utf-8"?>
    <s:DataGroup xmlns:fx="http://ns.adobe.com/mxml/2009" 
                 xmlns:s="library://ns.adobe.com/flex/spark" 
                 xmlns:mx="library://ns.adobe.com/flex/mx" 
                 width="200" height="100%"  dataProvider="{dataArr}" creationComplete="datagroup1_creationCompleteHandler(event)">
            <s:layout>
                <s:VerticalLayout gap="1" useVirtualLayout="true" paddingLeft="2" paddingRight="2" />
            </s:layout>
            <fx:Script>
                <![CDATA[
                    import mx.collections.ArrayCollection;
                    import mx.events.FlexEvent;
                    [Bindable]
                    public var dataArr:ArrayCollection
                    
                    protected function datagroup1_creationCompleteHandler(event:FlexEvent):void
                    {
                        // TODO Auto-generated method stub
                        
                    }
                    
                ]]>
            </fx:Script>
            <s:itemRenderer>
                <fx:Component>
                    <s:ItemRenderer width="195" height="30" click="itemrenderer1_clickHandler(event)" dataChange="itemrenderer1_dataChangeHandler(event)" >
                        
                        <fx:Script>
                            <![CDATA[
                                import com.AppEvent;
                                
                                import mx.events.FlexEvent;
                                [Bindable]
                                private var tempdata:Object;
                                
                                protected function itemrenderer1_clickHandler(event:MouseEvent):void
                                {
                                    AppEvent.dispatch("menu_selected",data);
                                    for each(var o:Object in outerDocument.dataArr)
                                    {
                                        o.selected=false;
                                    } 
                                    data.selected=true;
                                    outerDocument.dataArr.refresh();
                                }
                                
                                protected function itemrenderer1_dataChangeHandler(event:FlexEvent):void
                                {
                                    //tempdata=data;
                                }
                                
                            ]]>
                        </fx:Script>
                        
                        <s:states>
                            <s:State name="normal" />
                            <s:State name="hovered" />
                            <s:State name="selected" />
                        </s:states>
                        
                        <s:Rect left="0" right="0" top="0" bottom="0" radiusX="5" radiusY="5"  visible="{!data.selected}">
                            <s:fill>
                                <s:SolidColor color="#92CDEA" color.hovered="#65A3FF" alpha="0.9" alpha.hovered="1"  />
                            </s:fill>
                        </s:Rect>
                        <s:Rect left="0" right="0" top="0" bottom="0" radiusX="5" radiusY="5"  visible="{data.selected}">
                            <s:fill>
                                <s:SolidColor color="#65A3FF" />
                            </s:fill>
                        </s:Rect>
                        <s:Label id="txtStart" text="{data.label}"  buttonMode="true" useHandCursor="true"
                                 fontSize="16" color="#FFFFFF"  fontFamily="微软雅黑" left="20" verticalCenter="2" />
                    </s:ItemRenderer>
                </fx:Component>
            </s:itemRenderer>
    </s:DataGroup>

    注意:

    <s:ItemRenderer width="195" height="30" autoDrawBackground="false"  这里如果给了宽度和高度那么,每一项就固定死了,如果不给就是活的。

    示例2:

    <?xml version="1.0" encoding="utf-8"?>
    <s:DataGroup xmlns:fx="http://ns.adobe.com/mxml/2009" 
                 xmlns:s="library://ns.adobe.com/flex/spark" 
                 xmlns:mx="library://ns.adobe.com/flex/mx" 
                 width="100%" height="100%"  dataProvider="{dataArr}" creationComplete="datagroup1_creationCompleteHandler(event)">
        <s:layout>
            <s:TileLayout  verticalGap="20" horizontalGap="20" horizontalAlign="left" paddingLeft="20" paddingTop="6"/>
        </s:layout>
            <fx:Script>
                <![CDATA[
                    import mx.collections.ArrayCollection;
                    import mx.events.FlexEvent;
                    [Bindable]
                    public var dataArr:ArrayCollection
                    
                    protected function datagroup1_creationCompleteHandler(event:FlexEvent):void
                    {
                        // TODO Auto-generated method stub
                        
                    }
                    
                ]]>
            </fx:Script>
            <s:itemRenderer>
                <fx:Component>
                    <s:ItemRenderer  autoDrawBackground="false" click="itemrenderer1_clickHandler(event)" dataChange="itemrenderer1_dataChangeHandler(event)" >
                        
                        <fx:Script>
                            <![CDATA[
                                import com.esri.viewer.AppEvent;
                                
                                import mx.events.FlexEvent;
                                [Bindable]
                                private var tempdata:Object;
                                
                                protected function itemrenderer1_clickHandler(event:MouseEvent):void
                                {
                                    AppEvent.dispatch("xzq2_selected",data);
                                    for each(var o:Object in outerDocument.dataArr)
                                    {
                                        o.selected=false;
                                    } 
                                    data.selected=true;
                                    outerDocument.dataArr.refresh();
                                }
                                
                                protected function itemrenderer1_dataChangeHandler(event:FlexEvent):void
                                {
                                    //tempdata=data;
                                }
                                
                            ]]>
                        </fx:Script>
                        
                        <s:states>
                            <s:State name="normal" />
                            <s:State name="hovered" />
                            <s:State name="selected" />
                        </s:states>
                        
                        <s:Rect id="hoveredBorder" left="-4" right="-4" top="-6" bottom="-4" radiusX="2" radiusY="2" includeIn="hovered">
                            <s:stroke>
                                <s:LinearGradientStroke rotation="90">
                                    <s:GradientEntry  color="#53C500" ratio="0" />
                                    <s:GradientEntry  color="#52b0e8" ratio="1" />
                                </s:LinearGradientStroke>
                            </s:stroke>
                            <s:fill>
                                <s:SolidColor color="#65A3CE" alpha="0.1"/>
                            </s:fill>
                        </s:Rect>
                        
                        <s:Rect id="SelectedBorder" left="-4" right="-4" top="-6" bottom="-4" radiusX="2" radiusY="2" visible="{data.selected}">
                            <s:stroke>
                                <s:LinearGradientStroke rotation="90">
                                    <s:GradientEntry  color="#53C500" ratio="0" />
                                    <s:GradientEntry  color="#52b0e8" ratio="1" />
                                </s:LinearGradientStroke>
                            </s:stroke>
                            <s:fill>
                                <s:SolidColor color="#65A3CE" alpha="0.1"/>
                            </s:fill>
                        </s:Rect>
                        <s:Label text="{data.name}" verticalCenter="0" horizontalCenter="0"
                                 maxDisplayedLines="1" toolTip="{data.label}"  fontFamily="微软雅黑"
                                 fontSize="14" buttonMode="true" color="0x348D9B"/>
                    </s:ItemRenderer>
                </fx:Component>
            </s:itemRenderer>
    </s:DataGroup>

    注意:

    如果要滚动条那么要这样:

    <s:Scroller width="290" height="150" left="10">
                        <HeaderController:xzqTiledDataGroup left="10" dataArr="{dataArr2}" width="290" height="150"/>
                    </s:Scroller>
  • 相关阅读:
    eshint的配置
    jsp 或 php 等view之中使用javascript简单处理的使用技巧
    响应式图片,在不同尺寸下切换不同张数
    swiper.js + jquery.magnific-popup.js 实现奇葩的轮播需要
    Websocket 协议的基本使用与示例
    vue手记
    docker 架构
    webpack基本使用
    vue组件、路由、事件
    vue基本使用
  • 原文地址:https://www.cnblogs.com/tiandi/p/3956370.html
Copyright © 2011-2022 走看看