`

flex小结11

    博客分类:
  • FLEX
阅读更多

1 advanceddatagrid中的分组grouping应用,比如:
  <![CDATA[
   import mx.rpc.events.ResultEvent;
   import mx.collections.ArrayCollection;
   
   [Bindable]
   private var bookData:ArrayCollection;
   private function bookHandler(evt:ResultEvent):void
   {
    bookData=evt.result.books.stock;
    bookGroup.refresh();
   }
  ]]>
 </mx:Script>
 <mx:HTTPService id="bookStock" url="assets/books.xml" result="bookHandler(event)"/>
 <mx:AdvancedDataGrid x="141" y="73" id="grid" >
 <mx:dataProvider>
  
  <mx:GroupingCollection id="bookGroup" source="{bookData}">
   
   <mx:Grouping>
    
    <mx:GroupingField name="category"/>
    
   </mx:Grouping>
  </mx:GroupingCollection>
 </mx:dataProvider>
  <mx:columns>
   <mx:AdvancedDataGridColumn headerText="category" dataField="category"/>
   <mx:AdvancedDataGridColumn headerText="author" dataField="author"/>
   <mx:AdvancedDataGridColumn headerText="Book Name" dataField="name"/>
  </mx:columns>
 </mx:AdvancedDataGrid>
    这样的话,是按列category来分类别浏览的
2 FLEX CSS里的global选择器
   global {
 fontFamily:"Comic Sans MS"; 
 }
3 flex里的drag and drop。flex可以在datagrid,list等控件里实行drag and drop的,先看例子
   <mx:Script>
        <![CDATA[
                private function creationCompleteHandler():void
                {

                    srclist.dataProvider = ['Reading', 'Skating', 'Movies'];       
                    destlist.dataProvider = [];
                }

        ]]>
    </mx:Script>

    <mx:Panel title="Select activities" layout="horizontal">
        <mx:VBox width="50%">
            <mx:Label text="Available activities"/>

            <!-- Drag initiator -->
            <mx:List
                id="srclist" width="100%" height="100"
                allowMultipleSelection="true"               
                dragEnabled="true" dragMoveEnabled="true"
            />

        </mx:VBox>

        <mx:VBox width="50%">
            <mx:Label text="Activities I enjoy"/>

            <!-- Drop target -->
            <mx:List 
                id="destlist" width="100%" height="100"
                dropEnabled="true"
            />
        </mx:VBox>
  必须要设置原始和目标控件的dragEnabled为true,dragmoveEnabled=true时,表示是把内容剪切到另外的目标控件中

,FALSE时只COPY
   允许双向拖放,通过把两个列表的dragEnabled和dropEnabled属性都设置为true。就像下边:
<!-- Both drag initiator and drop target -->
<mx:List
    id="srclist" width="100%" height="100"
    allowMultipleSelection="true"               
    dragEnabled="true"

    dropEnabled="true"
    dragMoveEnabled="true"
/>

<!-- . . . -->

<!-- Both drag initiator and drop target -->
<mx:List
    id="destlist" width="100%" height="100"
    allowMultipleSelection="true"               
    dragEnabled="true"

    dropEnabled="true"
    dragMoveEnabled="true"
/>

4 drag and drop在两个datagrid中的复杂点的例子
  <?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2007/09/19/dragging-rows-between-two-different-flex-datagrid-controls/

-->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="horizontal"
        verticalAlign="middle"
        backgroundColor="white">

    <mx:Array id="arr">
        <mx:Object colA="Item A.0" colB="Item B.0" colC="Item C.0" />
        <mx:Object colA="Item A.1" colB="Item B.1" colC="Item C.1" />
        <mx:Object colA="Item A.2" colB="Item B.2" colC="Item C.2" />
        <mx:Object colA="Item A.3" colB="Item B.3" colC="Item C.3" />
        <mx:Object colA="Item A.4" colB="Item B.4" colC="Item C.4" />
        <mx:Object colA="Item A.5" colB="Item B.5" colC="Item C.5" />
        <mx:Object colA="Item A.6" colB="Item B.6" colC="Item C.6" />
        <mx:Object colA="Item A.7" colB="Item B.7" colC="Item C.7" />
        <mx:Object colA="Item A.8" colB="Item B.8" colC="Item C.8" />
        <mx:Object colA="Item A.9" colB="Item B.9" colC="Item C.9" />
    </mx:Array>

    <mx:ApplicationControlBar dock="true">
        <mx:Form>
            <mx:FormItem label="DataGrid #1:"
                    direction="horizontal">
                <mx:CheckBox id="dg1_dragEnabled"
                        label="dragEnabled" />
                <mx:CheckBox id="dg1_dropEnabled"
                        label="dropEnabled" />
                <mx:CheckBox id="dg1_dragMoveEnabled"
                        label="dragMoveEnabled" />
            </mx:FormItem>
            <mx:FormItem label="DataGrid #2:"
                    direction="horizontal">
                <mx:CheckBox id="dg2_dragEnabled"
                        label="dragEnabled" />
                <mx:CheckBox id="dg2_dropEnabled"
                        label="dropEnabled" />
                <mx:CheckBox id="dg2_dragMoveEnabled"
                        label="dragMoveEnabled" />
            </mx:FormItem>
        </mx:Form>
    </mx:ApplicationControlBar>

    <mx:VBox width="50%">
        <mx:Label text="DataGrid #1" />
        <mx:DataGrid id="dataGrid1"
                width="100%"
                rowHeight="22"
                dataProvider="{arr}"
                dragEnabled="{dg1_dragEnabled.selected}"
                dragMoveEnabled="{dg1_dragMoveEnabled.selected}"
                dropEnabled="{dg1_dropEnabled.selected}"
                verticalScrollPolicy="on">
            <mx:columns>
                <mx:DataGridColumn dataField="colA"
                        headerText="Column A" />
                <mx:DataGridColumn dataField="colB"
                        headerText="Column B" />
                <mx:DataGridColumn dataField="colC"
                        headerText="Column C" />
            </mx:columns>
        </mx:DataGrid>
        <mx:Label text="{dataGrid1.dataProvider.length} items" />
    </mx:VBox>

    <mx:VBox width="50%">
        <mx:Label text="DataGrid #2" />
        <mx:DataGrid id="dataGrid2"
                width="100%"
                rowHeight="22"
                dataProvider="[]"
                dragEnabled="{dg2_dragEnabled.selected}"
                dragMoveEnabled="{dg2_dragMoveEnabled.selected}"
                dropEnabled="{dg2_dropEnabled.selected}"
                verticalScrollPolicy="on">
            <mx:columns>
                <mx:DataGridColumn dataField="colA"
                        headerText="Column A" />
                <mx:DataGridColumn dataField="colB"
                        headerText="Column B" />
                <mx:DataGridColumn dataField="colC"
                        headerText="Column C" />
            </mx:columns>
        </mx:DataGrid>
        <mx:Label text="{dataGrid2.dataProvider.length} items" />
    </mx:VBox>

</mx:Application>

5 一个将LABLE拖放到LIST里的编程的例子
<mx:Script>
 <![CDATA[
  import mx.collections.ArrayCollection;
  import mx.core.*;
  import mx.managers.DragManager;
  import mx.events.DragEvent;
  
  
  [Bindable]
  private var targetData:ArrayCollection=new ArrayCollection();
  
  private function dragTest

(initiator:Label,myData:String,event:MouseEvent,format:String):void
  {
   
   var ds:DragSource=new DragSource();
   ds.addData(myData,format);
   DragManager.doDrag(initiator,ds,event);
  }
  private function testDragEnter(evt:DragEvent,format:String):void
  {
   DragManager.acceptDragDrop(IUIComponent(evt.target));
   
  }
  private function testDragDrop(evt:DragEvent,format:String):void
  {
   var myData:Object=new Object();
   myData=evt.dragSource.dataForFormat(format);
   listTarget.dataProvider.addItem(myData);
  }
 ]]>
</mx:Script>
 <mx:Label id="dragLabel" text="drag this lable"  mouseDown="dragTest(dragLabel,'this is the

data',event,'stringFormat')"/>
 <mx:List width="466" id="listTarget" height="238" dataProvider="{targetData}"

dragEnter="testDragEnter(event,'stringFormat')" dragDrop="testDragDrop(event,'stringFormat')"></mx:List>

1
0
分享到:
评论

相关推荐

    flex学习笔记 flex学习总结 flex学习教程

    Flex是Adobe公司推出的一种用于构建富互联网应用程序(RIA)的技术,它基于ActionScript编程语言和Flex框架,可以创建交互性强、用户体验优秀的Web应用。本教程是作者精心编写的Flex学习资料,适合初学者入门,通过...

    Flex学习与总结

    Flex学习与总结 Flex是一种用于构建富互联网应用(RIA)的开发框架,由Adobe公司提供。RIA技术旨在提升网络应用的交互性和表现力,克服传统HTML页面在用户体验上的局限。随着网络带宽的提高,RIA逐渐成为互联网应用...

    FLEX简单的入门快速总结

    Flex是Adobe公司开发的一种用于构建富互联网应用程序(RIA)的框架,主要基于ActionScript和MXML。本篇文章将深入探讨Flex的基本概念、数据绑定、HTTPService的使用以及创建自定义事件,这些都是Flex入门阶段需要...

    Flex编译错误码总结

    Flex编译错误码总结 Flex是一种基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。在开发过程中,我们可能会遇到各种编译错误,这些错误代码可以帮助开发者理解和解决遇到的问题。以下是对Flex...

    flex socket开发总结

    Flex Socket开发总结 在开发基于Flex的应用程序时,与服务器进行实时通信是常见的需求,而Socket接口提供了这种能力。本文将深入探讨Flex中Socket开发的关键知识点,包括如何连接到Java和C++的Server Socket,以及...

    flex基本语法总结

    11. AS文件:ActionScript代码通常存储在`.as`文件中,用于组织类和库。 12. 常量定义:使用`const`关键字定义常量,如`public const PI:Number = 3.1415926;`。 13. 静态成员:`static`关键字用于定义类的静态...

    flex 代码总结

    在本文中,我们将深入探讨Flex中的关键概念,主要聚焦于摄像头操作、视频播放、自动弹出框、屏幕分辨率获取以及XML文件的读取。Flex是一个用于构建富互联网应用(RIA)的开发框架,它允许开发者创建具有交互性、动态...

    Flex_4_样式与布局小结

    Flex_4_样式与布局小结详细的资源描述有机会获得我们的推荐,更有利于他人下载,赚取更多积分

    FLEX培训总结

    【Flex培训总结】 Flex,全称Adobe Flex,是由Macromedia公司推出的,旨在支持富互联网应用程序(RIA)的开发和部署的技术组合。随着Macromedia被Adobe收购,Flex也成为了Adobe的重要产品。Flex主要使用...

    Flex3与flex4的区别

    标题和描述都聚焦于对比Flex3与Flex4之间的差异,这是一种Adobe系统提供的开源框架,用于构建跨平台的桌面和移动应用程序。Flex4,其代号为Gumbo,是在Flex3的基础上进行了重大升级,旨在改进用户体验和开发效率。...

    Flex教程大全 flex快速入门

    ### Flex教程大全:Flex快速入门 #### 一、Flex简介 Flex是由Adobe公司推出的一款用于构建Web应用程序的技术框架。它允许开发者使用MXML(一种基于XML的语言)和ActionScript(一种面向对象的脚本语言)来进行高效...

    FlexCAN详解

    FlexCAN(Flexible Controller Area Network)模块是一种实现了CAN(Controller Area Network)协议的通信控制器,即遵循CAN 2.0B协议规范。FlexCAN广泛应用于需要实时处理、可靠通信和成本效益的汽车串口总线系统中...

    Flex4.5常见问题总结

    ### Flex4.5常见问题总结 #### 一、Flex4.5组件开发模型与特性 Flex4.5采用了一种基于组件的开发模型,开发者可以通过继承现有组件并扩展其功能来构建自己的应用程序。这一模型的核心优势在于提高了代码的复用性,...

    flex操作数据库, flex操作本地sql数据库

    总结,Flex通过LCDS与本地SQL数据库进行交互,能够实现高效、实时的数据访问。开发者需理解Flex的AMF通信机制,配置好LCDS服务,并学会在ActionScript中编写数据库操作代码,以实现丰富的数据驱动的Flex应用。

    flex安装说明,帮助配置flex

    #### 三、总结 通过以上步骤,可以完成Flex及其开发环境的搭建。这些准备工作为开发高质量的Flex应用奠定了坚实的基础。需要注意的是,随着技术的发展,目前可能会有更高版本的JDK、Tomcat以及Flex等工具可供选择,...

    FLEX技术总结20110414

    2011年是Flex技术发展的一个重要阶段,这个时期的总结将涵盖Flex的主要特性、应用领域以及当时的技术趋势。 Flex主要由以下几部分组成: 1. **Flex SDK**:一个开源开发工具包,包含了编译Flex应用程序所需的...

Global site tag (gtag.js) - Google Analytics