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 ...
随机推荐
- 通过特定获取获取电脑外网IP地址
void get_WanIp() { }; ]; ]; ; }; GetTempPathA(MAX_PATH,szFilePath); strcat(szFilePath,"IPinTheW ...
- [译] ContentEditable 那些好的、坏的和坑
译者注 我的上一篇译文 “[译] 通过 contentEditable 属性创建一个所见即所得的编辑器” 的原文 “Create a WYSIWYG Editor With the contentEd ...
- 使用AlloyLever来搞定开发调试发布,错误监控上报,用户问题定位
传送门: # gituhbhttps://github.com/AlloyTeam/AlloyLever # 官网https://alloyteam.github.io/AlloyLever/ 下载和 ...
- Spring事务管理之编程式事务管理
© 版权声明:本文为博主原创文章,转载请注明出处 案例:利用Spring的编程式事务管理模拟转账过程 数据库准备 -- 创建表 CREATE TABLE `account`( `id` INT NOT ...
- SQL 时间格式转换
------- 获取当前时间 -------- DECLARE @currentTime varchar(); SET @currentTime = CONVERT(VARCHAR(),GETDATE ...
- Unity3D - 性能优化之Draw Call
Unity3D - 性能优化之Draw Call 分类: Unity 3D2012-09-13 11:18 1002人阅读 评论(0) 收藏 举报 性能优化引擎测试脚本图形算法 Unity(或者说基本 ...
- 2018,从AI看安卓生态的变革
AI的发展与影响 与传统技术不同的是,AI技术算法清晰,优化目标明确,基础技术成熟,使得一众中小创企也看到了市场的机会.2017年中国企业动作频频,在自动驾驶,智能安防,智慧城市等领域都取得了不俗的成 ...
- Teradata架构
Teradata在整体上是按Shared Nothing 架构体系进行组织的,他的定位就是大型数据仓库系统,定位比较高,他的软硬件都是NCR自己的,其他的都不识别:所以一般的企业用不起,价格很贵.由于 ...
- Yaml 的python 应用
1.安装yaml的python包 2.准备yaml的数据 3.yaml.load 解析yaml 3.生产yaml
- [root@localhost ~]#各项解释
[root@localhost ~]# 解释: [登录用户@主机名 索引目录(~家目录,当前所在的目录)]#号代表超级用户,$普通用户