flex 对datagrid列表添加图片文本 itemRender
来源:互联网 发布:知乎 dota2 编辑:程序博客网 时间:2024/06/06 07:42
创建一个主应用程序,采用动态赋值给datagrid
<?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" creationComplete="init(event)" > <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> <mx:HTTPService id="dataXmlService" resultFormat="xml" result="dataXmlToData(event)"/> </fx:Declarations> <fx:Script> <![CDATA[ import mx.controls.Alert; import mx.events.FlexEvent; import mx.rpc.events.ResultEvent; import Factory.StatusFactory; private var itemRenderImg :IFactory = new StatusFactory();//实例化一个itemrenderer private var dataXml: XML; protected function init(event:FlexEvent):void { // TODO Auto-generated method stub dataXmlService.url="students.xml";//请求地址 try { dataXmlService.send(); } catch(error:Error) { Alert.show("请求出错"); } } protected function dataXmlToData(event:ResultEvent):void { // TODO Auto-generated method stub dataXml=XML(event.result);//请求的数据结果 grid.dataProvider = dataXml.children(); column.itemRenderer = itemRenderImg;//将itemrender赋给序号所在的列 } ]]> </fx:Script> <mx:DataGrid id="grid" width="500" height="400" textAlign="center"> <mx:columns> <mx:DataGridColumn headerText="序号" dataField="col1" textAlign="left" id="column"/> <mx:DataGridColumn headerText="姓名" dataField="@col2"/> <mx:DataGridColumn headerText="年龄" dataField="@col3"/> <mx:DataGridColumn headerText="爱好" dataField="@col4"/> <mx:DataGridColumn headerText="住址" dataField="@col5"/> </mx:columns> </mx:DataGrid></s:Application>
statusFactory.as
package Factory{ import mx.core.IFactory; public class StatusFactory implements IFactory { public function StatusFactory() { super(); } public function newInstance():*{ //实例化渲染器,实现具体功能 return new statusItemRender;//返回一个itemrender实例 } }}
statusItemRender
<?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:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> </fx:Declarations> <fx:Script> <![CDATA[ [Embed(source="assets/1.jpg")] private static const you : Class; [Embed(source="assets/2.jpg")] private static const liang:Class; [Embed(source="assets/3.jpg")] private static const cha : Class; [Embed(source="assets/4.jpg")] private static const hao : Class; private function getImage(data : Object):Object{ if(data==null) return null; if("2101"==data.@col1){return you;} if("2102"==data.@col2){return liang;} if("2103"==data.@col3){return cha;} return hao; } private function getText(data:Object):String{ if(data==null) return null; if("2101"==data.@col1){return "优秀";} if("2102"==data.@col2){return "良好";} if("2103"==data.@col3){return "差劲";} return "好"; } ]]> </fx:Script> <s:Label id="serial" text="{this.data.@col1}"/> <s:Image id="stateImg" source="{getImage(this.data)}" width="20" height="20"/> <s:Label id="stateText" text="{getText(this.data)}"/></mx:HBox>
运行结果
0 0
- flex 对datagrid列表添加图片文本 itemRender
- Flex datagrid itemrender/itemeditor
- flex datagrid itemrender 渲染 问题及解决办法
- Flex中DataGrid,itemrender以及多行多列值控制
- Flex中DataGrid,itemrender以及多行多列值控制
- DataGrid,ItemEditors,ItemRender
- Flex tree ItemRender
- flex 4.6 自定义Datagrid添加checkbox\图片等功能
- Flex DataGrid 添加超链接
- Flex DataGrid渲染图片
- flex datagrid 图片 图标
- Flex dataGrid 表头添加按钮
- flex datagrid 动态添加序列号
- Flex dataGrid 表头添加按钮
- DataGrid添加下拉列表框
- AlertDialog图片文本列表
- flex添加gif图片
- FLEX4实践—DataGrid嵌入ItemRender
- RecylerView使用详解(分享整理)
- ubuntu16.04 实现SVN与WEB同步解决方案
- 新浪微博加号按钮动画实现方案
- android ViewPager 简单多线程加载本地图片
- c++之STL(13) STL 算法 - 查找算法(7)lower_bound() upper_bound() equal_range(0
- flex 对datagrid列表添加图片文本 itemRender
- 【学习笔记】比较符与equals
- 【NOIP2011模拟9.7】射命丸文
- HDU5835 Danganronpa(简单推理)
- sqserver数据库导入到mysql
- STM8 设置系统时钟
- 正则表达式速查表
- openfire stopped解决
- 组合逻辑电路回顾