`

Flex 学习小结(11)

阅读更多

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>

分享到:
评论

相关推荐

    flex 学习网址

    #### 小结 以上就是针对“flex 学习网址”的五个推荐资源。这些资料涵盖了Flex从基础知识到进阶技巧、再到实战案例的完整学习路径。无论是初学者还是有一定经验的开发者都能从中受益匪浅。希望各位通过阅读这些内容...

    FLEX从入门到精通.pdf

     1.4 本章小结  第2章 Flex3生态系统  2.1 Flex历史简介  2.2 Adobe Flex3生态系统,  2.2.1 运行时  2.2.2 语言  2.2.3 框架和API  2.2.4 数据通信  2.2.5 服务器  2.3 Adobe Flex RIA工作...

    Flex中文帮助文档

    总的来说,这个压缩包提供的资料是一份全面的Flex学习资源,不仅覆盖了Flex的基础知识,还包含了实际项目开发的经验分享,对于想要深入理解和应用Flex的开发者来说,具有很高的参考价值。通过阅读和实践这些文档,...

    如何在Flex中使用profile的教程

    #### 七、小结 Adobe Flex Profiler是开发者进行Flex应用性能分析的重要工具。通过本教程的学习,相信您已经掌握了如何使用Adobe Flex Profiler的基本流程。希望这些信息能够帮助您更好地理解并优化您的Flex应用...

    flex中tree的数据源是xml

    #### 小结 通过以上步骤,我们可以清晰地看到从数据库查询到生成XML文件的整个过程。这种方式不仅实现了数据的有效管理和传递,还极大地提高了Flex应用程序的灵活性和性能。对于开发者而言,掌握这种方法有助于更好...

    Maven构建全栈式Flex、BlazeDS和Spring集成解决方案–第一部分_创建Maven_Flex模块

    #### 四、小结 通过上述步骤,我们可以成功构建一个完整的Flex、BlazeDS和Spring集成解决方案。这一集成方案不仅能够实现前端Flex与后端Spring的有效通信,还能够利用BlazeDS提供的远程服务功能,使得整个系统的...

    flex的mxml语言基础

    **小结** 总的来说,Flex项目由MXML和ActionScript协同完成,MXML负责界面展示,ActionScript负责逻辑处理。命名空间作为类的组织方式,避免了类名冲突。掌握MXML的基础知识,对于高效开发Flex应用至关重要。通过...

    关于打地鼠的Flex代码

    #### 小结 该Flex代码示例展示了如何使用Flex框架来实现一个简单的打地鼠游戏。通过对变量的管理和事件处理的合理安排,不仅确保了游戏逻辑的清晰性,还提高了用户体验。对于学习Flex编程的新手来说,这是一个很好的...

    Flex从入门到实践2

    5. **小结与习题** 本章总结了导航组件的关键应用,强调了视图间的切换方法,并提出了几个关于如何使用这些组件设计导航的问题,以供读者巩固学习。 接下来,我们转向菜单设计。菜单是功能导航的重要组成部分,...

    Wiley.Adobe.Flash.Builder.4.and.Flex.4.Bible.Apr.2010.rar

    每个章节结尾通常会有小结和练习题,帮助巩固学习成果。对于想要深入掌握Flash Builder 4和Flex 4的开发者来说,这是一本不可多得的参考书。 总之,《Wiley Adobe Flash Builder 4 and Flex 4 Bible》涵盖了Flash ...

    CSS3小结

    **CSS3小结** 在网页设计领域,CSS3(Cascading Style Sheets Level 3)是HTML和XML文档样式表语言的最新版本,它极大地扩展了CSS2.1的功能,引入了许多新的特性和改进,使得网页设计更加丰富多彩,更具表现力。本...

    Web前端技术项目式教程(HTML5 CSS3 Flex Bootstrap)教案-美化网页.pdf

    4. **任务小结**:总结本课内容,巩固所学知识。 【教学资源】 1. **装有SublimeText3的电脑**:提供编写和测试代码的环境。 2. **教学课件PPT**:辅助教学,展示实例和讲解内容。 3. **教材**:《Web前端技术项目...

    AS3学习笔记flashdevelop平台搭建配置.pdf

    7. 小结 本学习笔记对FlashDevelop平台的搭建和配置进行了详细的介绍,并对其中涉及到的知识点进行了详细的解释。通过本学习笔记,读者可以快速掌握FlashDevelop平台的使用和配置,提高Flash项目的开发效率。

    css网页布局中注意的几个问题小结

    以下是对"css网页布局中注意的几个问题小结"的详细解释: 一、避免使用不常见的CSS属性和技巧 一些特殊的CSS属性如`break-word`用于强制换行,`z-index`用于元素的层叠顺序,以及各种垂直对齐方法,虽然在某些情况...

    一波CSS+Div实用技巧小结

    在网页设计中,CSS(层叠样式表)和Div元素是构建页面布局的重要工具。本文主要总结了一些关于CSS+Div的实用技巧,旨在帮助开发者提高工作效率,优化...在实际开发中,不断学习和实践新的CSS技术是保持竞争力的关键。

    bootstrap总结与例子

    11. **轮播组件** (`carousel`): `.carousel` 和 `.carousel-item` 类用于创建滑动图像或内容的轮播效果,支持自动播放和指示器。 12. **工具提示** (`tooltips`): 使用 `.tooltip` 和 `data-toggle="tooltip"` ...

    CSS布局最常见的八条错误小结

    了解并掌握clear、display:flex或grid布局方法,可以更有效地管理元素的定位。 通过深入理解这些常见错误及其解决方案,开发者能够编写出更加高效、稳定且易于维护的CSS布局代码,从而提高网站的用户体验。定期检查...

    Maven权威指南 很精典的学习教程,比ANT更好用

    小结 4. 定制一个Maven项目 4.1. 介绍 4.1.1. 下载本章样例 4.2. 定义Simple Weather项目 4.2.1. Yahoo! Weather RSS 4.3. 创建Simple Weather项目 4.4. 定制项目信息 4.5. 添加新的依赖 4.6. ...

Global site tag (gtag.js) - Google Analytics