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 ...
随机推荐
- HTML <!DOCTYPE> (转自w3school)
定义和用法 <!DOCTYPE> 声明必须是 HTML 文档的第一行,位于 <html> 标签之前. <!DOCTYPE> 声明不是 HTML 标签:它是指示 we ...
- Install Erlang and Elixir in CentOS 7
In this tutorial, we will be discussing about how to install Erlang and Elixir in CentOS 7 minimal s ...
- MD5值转换(Hex 32位 <-> base64 24位)
关于MD5值的原理本文不在介绍,本文主要介绍MD5值的两种编码的相互转换(32位和BASE64编码的24位),实际应用过程中经常会涉及到两种编码的相互转换.快熟使用工具tomeko.net. C#示例 ...
- .NET CORE 2.0小白笔记(五):配置的热更新、配置的框架设计
配置的热更新 什么是热更新:一般来说,我们创建的项目都无法做到热更新:即项目无需重启,修改配置文件后读取到的信息就是修改配置之后的 我们只需要吧项目中用到的IOptions改成IOptionsSnap ...
- C++11 并发指南三(Lock 详解)(转载)
multithreading 多线程 C++11 C++11多线程基本使用 C++11 并发指南三(Lock 详解) 在 <C++11 并发指南三(std::mutex 详解)>一文中我们 ...
- 三星DRAM+NAND FLASH 合成MCP芯片介绍及应用攻略
转自:http://blog.csdn.net/gao5528/article/details/6256119 三星DRAM+NAND FLASH 合成MCP芯片介绍及应用攻略(K5系列产品篇) 一年 ...
- 传统数据仓库架构与Hadoop的区别
一, 下面一张图为传统架构和Hadoop的区别 主要讲以下横向扩展和扩展横向扩展:(Mpp 是hash分布,具有20节点)添加新的设备和现有的设备一起提供负载能力.Hadoop中系统扩容时,系统平台增 ...
- 文本信息检索——布尔模型和TF-IDF模型
文本信息检索--布尔模型和TF-IDF模型 1. 布尔模型 如要检索"布尔检索"或"概率检索"但不包括"向量检索"方面的文档,其相应的查 ...
- iOS 3DES加密
本文转载至 http://www.cocoachina.com/bbs/read.php?tid=177167 -(NSString *)TripleDES:(NSString *)plainText ...
- WCF基础之序列化
wcf是基于消息进行通信的,这篇就是简单说下序列化引擎是如何将.net object转化为xml消息.一般情况下很少用到这些,你只需定义数据协定之类的或者指定相应的序列化引擎,然后设置相应的特性就好. ...