• Creating a pop up TitleWindow using the PopUpButton control in Flex


    The following example shows how you can create a pop up TitleWindow container using the Flex PopUpButton control
    <?xml version="1.0" encoding="utf-8"?>
    <!-- http://blog.flexexamples.com/2008/04/13/creating-a-pop-up-titlewindow-using-the-popupbutton-control-in-flex/ -->
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
            layout
    ="vertical"
            verticalAlign
    ="middle"
            backgroundColor
    ="white">

        
    <mx:Style>
            TitleWindow {
                roundedBottomCorners: false;
                borderColor: haloSilver;
                backgroundColor: haloSilver;
                borderAlpha: 0.8;
                backgroundAlpha: 0.8;
                dropShadowEnabled: false;
            }
        
    </mx:Style>

        
    <mx:Script>
            
    <![CDATA[
                import mx.controls.CheckBox;
                import mx.controls.dataGridClasses.DataGridColumn;

                private function checkBox_change(evt:Event):void {
                    var ch:CheckBox = evt.currentTarget as CheckBox;
                    var idx:int = int(ch.data);
                    var obj:Object = arrColl.getItemAt(idx);
                    obj.sel = ch.selected;
                    arrColl.disableAutoUpdate();
                    arrColl.setItemAt(obj, idx);
                }

                private function selectAll(evt:Event):void {
                    var idx:int;
                    var item:Object;
                    for (idx=0; idx<arrColl.length; idx++) {
                        item = arrColl.getItemAt(idx);
                        item.sel = CheckBox(evt.currentTarget).selected;
                    }
                    arrColl.refresh();
                }

                private function sel_labelFunc(item:Object, col:DataGridColumn):String {
                    var bool:Boolean = item.hasOwnProperty("sel") &&
                                (item.sel == "true" || item.sel == true);
                    return bool.toString();
                }
            
    ]]>
        
    </mx:Script>

        
    <mx:ArrayCollection id="arrColl">
            
    <mx:source>
                
    <mx:Array id="arr">
                    
    <mx:Object label="Button" />
                    
    <mx:Object label="ButtonBar" />
                    
    <mx:Object label="CheckBox" />
                    
    <mx:Object label="ColorPicker" sel="true" />
                    
    <mx:Object label="ComboBox" sel="true" />
                    
    <mx:Object label="DataGrid" sel="true" />
                    
    <mx:Object label="DateChooser" />
                    
    <mx:Object label="DateField" sel="true" />
                    
    <mx:Object label="HorizontalList" />
                    
    <mx:Object label="HRule" />
                    
    <mx:Object label="HSlider" />
                    
    <mx:Object label="Image" />
                    
    <mx:Object label="Label" />
                    
    <mx:Object label="LinkBar" />
                    
    <mx:Object label="LinkButton" />
                    
    <mx:Object label="List" sel="true" />
                    
    <mx:Object label="Menu" />
                    
    <mx:Object label="MenuBar" />
                    
    <mx:Object label="NumericStepper" sel="true" />
                    
    <mx:Object label="ProgressBar" />
                    
    <mx:Object label="RadioButton" />
                    
    <mx:Object label="RadioButtonGroup" />
                    
    <mx:Object label="RichTextEditor" sel="true" />
                    
    <mx:Object label="Spacer" />
                    
    <mx:Object label="SWFLoader" />
                    
    <mx:Object label="TabBar" />
                    
    <mx:Object label="Text" />
                    
    <mx:Object label="TextArea" />
                    
    <mx:Object label="TextInput" />
                    
    <mx:Object label="TileList" />
                    
    <mx:Object label="Tree" sel="true" />
                    
    <mx:Object label="VideoDisplay" />
                    
    <mx:Object label="VRule" />
                    
    <mx:Object label="VScrollBar" />
                    
    <mx:Object label="VSlider" />
                
    </mx:Array>
            
    </mx:source>
        
    </mx:ArrayCollection>

        
    <mx:ApplicationControlBar dock="true">
            
    <mx:PopUpButton id="popUpButton"
                    label
    ="Please select some components"
                    openAlways
    ="true"
                    close
    ="arrColl.refresh();">
                
    <mx:popUp>
                    
    <mx:TitleWindow id="titleWin"
                            height
    ="200"
                            showCloseButton
    ="true"
                            verticalScrollPolicy
    ="on"
                            horizontalScrollPolicy
    ="off"
                            close
    ="popUpButton.close();">
                        
    <mx:ToolBar width="320">
                            
    <mx:Repeater id="myRep"
                                    dataProvider
    ="{arrColl}">
                                
    <mx:CheckBox data="{myRep.currentIndex}"
                                        label
    ="{myRep.currentItem.label}"
                                        selected
    ="{myRep.currentItem.sel}"
                                        change
    ="checkBox_change(event);"
                                        width
    ="100" />
                            
    </mx:Repeater>
                        
    </mx:ToolBar>
                        
    <mx:ControlBar>
                            
    <mx:CheckBox label="Select All"
                                    labelPlacement
    ="left"
                                    change
    ="selectAll(event);" />
                        
    </mx:ControlBar>
                    
    </mx:TitleWindow>
                
    </mx:popUp>
            
    </mx:PopUpButton>
        
    </mx:ApplicationControlBar>

        
    <mx:DataGrid dataProvider="{arrColl}">
            
    <mx:columns>
                
    <mx:DataGridColumn dataField="label" />
                
    <mx:DataGridColumn dataField="sel"
                        labelFunction
    ="sel_labelFunc" />
            
    </mx:columns>
        
    </mx:DataGrid>

    </mx:Application>

  • 相关阅读:
    一百多套开发视频教程的下载地址
    魅族MX3问题集锦
    Entity Framework 5问题集锦
    【PHP Manager for IIS】让IIS支持PHP
    MySQL安装
    phpMyAdmin安装
    犯了一个愚蠢的序列化错误
    最佳策略
    .net非托管资源
    .net内存何时回收?
  • 原文地址:https://www.cnblogs.com/taobataoma/p/1154287.html
Copyright © 2020-2023  润新知