Flex实现DataGrid标签中嵌入图片
2013-01-22 09:52
429 查看
方法一、定义一个呈示器,由itemRenderer去引用
主应用文件标签:
<mx:DataGrid id="dgrWave" width="664" height="153" dataProvider="{obj}" sortableColumns="true" doubleClickEnabled="true"
itemDoubleClick="datagrid1_itemDoubleClickHandler(event)"
itemRollOver="datagrid1_itemRollOverHandler(event)" itemRollOut="datagrid1_itemRollOutHandler(event)">
<mx:columns>
<mx:DataGridColumn headerText="语音文件名" dataField="name" width="100"/>
<mx:DataGridColumn headerText="语音文件内容" dataField="content" dataTipField="content" showDataTips="true"/>
<mx:DataGridColumn headerText="操作" width="100" textAlign="center" itemRenderer="controls.DataGridItemRender"/>
</mx:columns>
</mx:DataGrid>
DataGridItemRender组件:
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
<![CDATA[
import components.IconUtility;
import mx.containers.TitleWindow;
import mx.controls.Alert;
import mx.controls.DataGrid;
[Bindable]
[Embed("../assets/play.png")]
public static var startIcon:Class;
[Bindable]
[Embed("../assets/stop.png")]
public static var stopIcon:Class;
[Bindable]
[Embed("../assets/noplay.png")]
public static var nostartIcon:Class;
[Bindable]
[Embed("../assets/nostop.png")]
public static var nostopIcon:Class;
]]>
</fx:Script>
<mx:LinkButton id="lbPlay" toolTip="试听" click="click_play()" icon="{nostartIcon}" />
<mx:LinkButton id="lbStop" toolTip="停止" click="click_stop()" icon="{nostopIcon}" enabled="false" />
</mx:HBox>
方法二、
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.controls.dataGridClasses.DataGridColumn;
import mx.collections.ArrayCollection;
[Bindable]
private var ac:ArrayCollection=new ArrayCollection([{name:"tu1",level:1},{name:"tu3",level:3},{name:"tu2",level:2}]);
private var url:String
= http://www.163.com;
]]>
</fx:Script>
<mx:DataGrid dataProvider="{ac}" width="100%" height="100%" variableRowHeight="true">
<mx:columns>
<mx:DataGridColumn headerText="名称" dataField="name"/>
<mx:DataGridColumn dataField="level">
<mx:itemRenderer>
<fx:Component>
<mx:HBox>
<mx:Image source="{getImage(data)}" autoLoad="true">
<fx:Script>
<![CDATA[
public function getImage(data:Object):Object{
//outerDocument.url访问DataGrid 外属性,可以得到上面URL的值
if(data.level=="1"){
return "assets/1.jpg";
}
if(data.level=="2"){
return "assets/2.jpg";
}
if(data.level=="3"){
return "assets/3.jpg";
}
return null;
}
]]>
</fx:Script>
</mx:Image>
</mx:HBox>
</fx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
</s:Application>
主应用文件标签:
<mx:DataGrid id="dgrWave" width="664" height="153" dataProvider="{obj}" sortableColumns="true" doubleClickEnabled="true"
itemDoubleClick="datagrid1_itemDoubleClickHandler(event)"
itemRollOver="datagrid1_itemRollOverHandler(event)" itemRollOut="datagrid1_itemRollOutHandler(event)">
<mx:columns>
<mx:DataGridColumn headerText="语音文件名" dataField="name" width="100"/>
<mx:DataGridColumn headerText="语音文件内容" dataField="content" dataTipField="content" showDataTips="true"/>
<mx:DataGridColumn headerText="操作" width="100" textAlign="center" itemRenderer="controls.DataGridItemRender"/>
</mx:columns>
</mx:DataGrid>
DataGridItemRender组件:
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
<![CDATA[
import components.IconUtility;
import mx.containers.TitleWindow;
import mx.controls.Alert;
import mx.controls.DataGrid;
[Bindable]
[Embed("../assets/play.png")]
public static var startIcon:Class;
[Bindable]
[Embed("../assets/stop.png")]
public static var stopIcon:Class;
[Bindable]
[Embed("../assets/noplay.png")]
public static var nostartIcon:Class;
[Bindable]
[Embed("../assets/nostop.png")]
public static var nostopIcon:Class;
]]>
</fx:Script>
<mx:LinkButton id="lbPlay" toolTip="试听" click="click_play()" icon="{nostartIcon}" />
<mx:LinkButton id="lbStop" toolTip="停止" click="click_stop()" icon="{nostopIcon}" enabled="false" />
</mx:HBox>
方法二、
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.controls.dataGridClasses.DataGridColumn;
import mx.collections.ArrayCollection;
[Bindable]
private var ac:ArrayCollection=new ArrayCollection([{name:"tu1",level:1},{name:"tu3",level:3},{name:"tu2",level:2}]);
private var url:String
= http://www.163.com;
]]>
</fx:Script>
<mx:DataGrid dataProvider="{ac}" width="100%" height="100%" variableRowHeight="true">
<mx:columns>
<mx:DataGridColumn headerText="名称" dataField="name"/>
<mx:DataGridColumn dataField="level">
<mx:itemRenderer>
<fx:Component>
<mx:HBox>
<mx:Image source="{getImage(data)}" autoLoad="true">
<fx:Script>
<![CDATA[
public function getImage(data:Object):Object{
//outerDocument.url访问DataGrid 外属性,可以得到上面URL的值
if(data.level=="1"){
return "assets/1.jpg";
}
if(data.level=="2"){
return "assets/2.jpg";
}
if(data.level=="3"){
return "assets/3.jpg";
}
return null;
}
]]>
</fx:Script>
</mx:Image>
</mx:HBox>
</fx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
</s:Application>
相关文章推荐
- Flex中如何利用Style Sheet和<mx:style>标签嵌入图片/图标的例子
- 使用MYSQL、PHP和FLEX实现上传图片,动态在DataGrid中添加下载按钮和上传的图片.
- Flex:用checkBox实现DataGrid所有行的选择(全选)
- flex DataGrid 标题上放 CheckBox 实现全选
- a标签实现下载图片功能
- Flex实现的上传摄像头拍照并将UI保存为图片
- 利用<div>层 和<img>标签,实现一个图片两个动画效果
- Android开发之实现图片自动滚动显示标签的ViewPager
- [Flex] FlashBuilder 4.6运用标签嵌入字体方法
- flex Datagrid数据列双击事件实现
- Flex中ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- Flex中ByteArray与BitmapData互相转换实现图片的二进制保存与复原
- flex 实现图片播放 方案一 图片全部预加载放内存
- flex AdvancedDataGrid实现右键内容复制
- 将图片文件嵌入到wxpython代码中的实现方法
- C#实现图片叠加,图片上嵌入文字,文字生成图片的方法
- flex datagrid 实现合计功能控件包
- JQuery学习笔记 实现图片翻转效果和TAB标签切换效果第1/2页
- Flex控件--AdvancedDataGrid实现列头过滤功能(顺便写了Button列、CheckBox列、ComboBox列等)
- flex datagrid 图片 图标