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>
flex DataGroup的更多相关文章
- Flex4 vs Flex3: Repeater vs DataGroup
repeaters太老土了!如果你过去使用过它,你会发出这种感概.现在,我们终于要摆脱它了.Repeaters不仅有沉重的组件,而且接合使用很不方便.那么,Flex 4中有什么可以帮助我们吗?Data ...
- Flex 容器基本概念
申明文章出处:http://www.adobe.com/cn/devnet/flex/articles/flex-containers-tips.html Flex 4 容器可以提供一套默认的布局:B ...
- flex 4 布局样式
Flex 4 样式与布局 第一篇 Flex 4 与自定义布局(Layout) Flex 4/Spark组件架构的新功能之一是可以定制一个容器的布局而不必改变容器本身.您需要做的就是定义一个自定义布局. ...
- Flex学习总结
Flex SDK Flex框架类库.Flex编译环境.调式器.MXML.ActionScript编程语言以及其它工具组成,Flash Builder是其开发环境, Flash Player的工作模 ...
- flex控件总结
Flex基本控件总结 一.flex控件的分类:文本控件(text controls).数据源控件(data provider controls).菜单控件 (menu controls) ...
- Flex元素布局规则总结,以及布局和容器
一.Flex中的元素分类从功能层面可以把Flex中的元素分为组件(Components)和容器(Containers)两大类:组件 - 是指那类具有明确交互或数据展示功能的元素,例如Button.Ch ...
- OpenCASCADE Expression Interpreter by Flex & Bison
OpenCASCADE Expression Interpreter by Flex & Bison eryar@163.com Abstract. OpenCASCADE provide d ...
- Flex 布局教程:语法篇
作者: 阮一峰 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...
- Flex 布局教程:实例篇
该教程整理自 阮一峰Flexible教程 今天介绍常见布局的Flex写法.你会看到,不管是什么布局,Flex往往都可以几行命令搞定. 我的主要参考资料是Landon Schropp的文章和Solved ...
随机推荐
- LoadRunner调用md5方法
LoadRunner调用md5方法 上一篇 / 下一篇 2011-04-29 11:25:12 / 个人分类:Loadrunner 查看( 958 ) / 评论( 0 ) / 评分( 0 / 0 ) ...
- 在多线程的情况下是由Iterator遍历修改集合对象,报ConcurrentModificationException()异常的根因分析
遍历List时抛ConcurrentModificationException异常原理分析 http://www.blogjava.net/houlinyan/archive/2008/04/ ...
- javascript继承—prototype最优两种继承(空函数和循环拷贝)
一.利用空函数实现继承 参考了文章javascript继承-prototype属性介绍(2) 中叶小钗的评论,对这篇文章中的方案二利用一个空函数进行修改,可以解决创建子类对象时,父类实例化的过程中特权 ...
- html5 的a标签是可以拨电话的,通过其Href属性来实现
<a href="tel:18700000000">点击给我打电话吧!</a> 注: 1.<a href="tel:18750000000& ...
- Android适配方案小结(二)
该节主要记录从代码中获取与屏幕适配相关的各个參数: Java代码例如以下 public class ScreenUtil { /** * Note: * 仅仅有activity能够使用getWindo ...
- 170621 - Android ADB forward端口映射和reverse反向代理 使用笔记
个人理解 forward:端口映射 将本地PC指定Port端口,映射到设备手机指定Port端口上.以便解决 PC -> Phone 的访问问题PC 作为Client客户端 可以任意访问 Phon ...
- ArrayList add remove 代码分析
Add 首次add 元素需要对数组进行扩容(初始化Capacity 10, 第二次扩容10>>1 为5, 第三次扩容15>>1 为7), 每次扩容之前长度的1.5倍,当add ...
- C#中YieldReturn的用法
Yield Return 和 Yield Break 的出现是为了简化迭代器. 类如果能被遍历则必须有IEnumerator<string> GetEnumerator() 方法, 并有用 ...
- Wormholes - poj 3259 (Bellman-Ford算法)
Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 34934 Accepted: 12752 Description W ...
- Robot Motion - poj 1573
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 11269 Accepted: 5486 Description A ...