- 浏览: 807565 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (360)
- Java (101)
- JPA/Hibernate (10)
- Spring (14)
- Flex/BlazeDS (37)
- Database (30)
- Lucene/Solr/Nutch (0)
- Maven/Ant (25)
- CXF/WebService (3)
- RPC/RMI/SOAP/WSDL (1)
- REST (6)
- TDD/BDD/JUnit (1)
- Servlet/JSP (2)
- AI/MachineLearning (3)
- Resource (1)
- 字符编码 (2)
- OOA/OOPS/UML (5)
- DesignPattern (8)
- 算法与数据结构 (11)
- Web&App Server (13)
- 并发&异步&无阻塞 (7)
- Entertainment (4)
- JavaScript/ExtJS (45)
- CodeStyle&Quality (1)
- svn/git/perforce (8)
- JSON (2)
- JavaScriptTesting (4)
- Others (6)
- RegularExpression (2)
- Linux/Windows (12)
- Protocal (2)
- Celebrities (1)
- Interview (1)
- 计算机语言 (1)
- English (2)
- Eclipse (5)
- TimeZone/时区 (1)
- Finance (1)
- 信息安全 (1)
- JMS/MQ (2)
- XSD/XML/DTD (3)
- Android (4)
- 投资 (3)
- Distribution (3)
- Excel (1)
最新评论
-
qdujunjie:
如果把m换成具体的数字,比如4或者5,会让读者更明白
m阶B树中“阶”的含义 -
java-admin:
不错,加油,多写点文章
关于Extjs的mixins和plugin -
xiehuaidong880827:
你好,我用sencha cmd打包完本地工程后,把app.js ...
ExtJS使用Sencha Cmd合并javascript文件为一个文件 -
KIWIFLY:
lwpan 写道inverse = "true&qu ...
Hibernate中什么时候使用inverse=true -
luedipiaofeng:
good
消除IE stop running this script弹出框
自定义的ItemRenderer要实现IDataRenderer和IDropInListItemRenderer,其中IDataRenderer里有get/set data方法,IDropInListItemRenderer里有get/set listData方法,下面定义的ItemRenderer支持labelFunction函数。
这里有一点要特别注意的地方就是,setStyle()方法设置的样式属性必须是你继承的组件里面有的,比如我这里是Label,那么你用setStyle("fontWeight","bold");setStyle("fontStyle","normal")都没问题,但是如果你用setStyle("lineThrough","true")就不行了,因为lineThrough只要s|TextInput组件有,mx|TextInput,和这里的Label没有,不过如果你设置了,运行时是不会报错的,只是你看不到你期待的结果而已。
package component { import flash.events.FocusEvent; import flash.events.MouseEvent; import flash.text.TextField; import mx.controls.Alert; import mx.controls.Label; import mx.controls.Text; import mx.controls.advancedDataGridClasses.AdvancedDataGridBase; import mx.controls.advancedDataGridClasses.AdvancedDataGridListData; import mx.controls.listClasses.AdvancedListBase; import mx.controls.listClasses.BaseListData; import mx.controls.listClasses.IDropInListItemRenderer; import mx.controls.listClasses.IListItemRenderer; import mx.core.IDataRenderer; import mx.core.UIComponentGlobals; import mx.core.mx_internal; import mx.events.FlexEvent; use namespace mx_internal; public class TradeOpStatusDGColumnItemRenderer extends Label implements IDataRenderer, IDropInListItemRenderer { private var _data:Object; private var _listData:AdvancedDataGridListData; public var contentBackgroundColor:uint; public function TradeOpStatusDGColumnItemRenderer() { super(); } [Bindable("dataChange")] override public function get data():Object { return _data; } override public function set data(value:Object):void { _data = value; var operationStatus:String; if(value!=null){ if(value.hasOwnProperty("operationStatus")){ operationStatus=value.operationStatus; }else{ Alert.show("No such filed:operationStatus","Message"); return; } setStyle("color","#000000"); setStyle("borderVisible","false"); if(operationStatus ==TradeOperationStatus.Added){ setStyle("fontWeight","bold"); setStyle("fontStyle","normal"); }else if(operationStatus == TradeOperationStatus.Modified){ setStyle("fontWeight","bold"); setStyle("fontStyle","normal"); }else if(operationStatus==TradeOperationStatus.Deleted){ setStyle("fontWeight","bold"); setStyle("fontStyle","italic"); }else if(operationStatus ==TradeOperationStatus.Historical){ setStyle("fontWeight","normal"); setStyle("fontStyle","normal"); }else{ Alert.show("Trade operation status is not supported","Message"); return; } if(_listData && _listData.dataField=="notional"){ setStyle("textAlign","right"); }else{ setStyle("textAlign","left"); } if(_listData && _listData.dataField){ var dataGrid:AdvancedDataGrid=_listData.owner as AdvancedDataGrid; var dataGridColumn:AdvancedDataGridColumn=dataGrid.columns[_listData.columnIndex] as AdvancedDataGridColumn super.text=dataGridColumn.itemToLabel(_data,true); } } dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE)); } [Bindable("dataChange")] override public function get listData():BaseListData { return _listData; } override public function set listData(value:BaseListData):void { _listData = AdvancedDataGridListData(value); } override public function drawFocus(isFocused:Boolean):void { } } }
这里有一点要特别注意的地方就是,setStyle()方法设置的样式属性必须是你继承的组件里面有的,比如我这里是Label,那么你用setStyle("fontWeight","bold");setStyle("fontStyle","normal")都没问题,但是如果你用setStyle("lineThrough","true")就不行了,因为lineThrough只要s|TextInput组件有,mx|TextInput,和这里的Label没有,不过如果你设置了,运行时是不会报错的,只是你看不到你期待的结果而已。
发表评论
-
Panel高度为0但里面的组件依旧显示
2013-04-24 14:34 1125解决办法: 把Panel中的内容组件用<s:Scroll ... -
约束布局constraint layout
2013-03-01 14:02 1871约束布局constraint layout要点: 1)只有支持 ... -
根据屏幕分辨率动态调整组件大小
2013-02-22 17:34 1561将代码写在组件的preInitialize事件监听器里面 简化 ... -
设置Flex组件的尺寸大小
2013-02-21 16:17 1584深红色部分标明了需注意的地方 另外要注意组件和容器的生命周 ... -
Flex minWidth minHeight
2013-02-04 16:17 1569minWidth 这个值并不是给组件自己用的,而是给组件的父容 ... -
ActionScript遍历绑定(BindProperty,BindSetter,ChangeWatcher)
2013-02-01 10:11 2512注意: 为防止内存益处,记得调用watcherInstance ... -
Flex程序适应不同屏幕尺寸和分辨率(滚动条)
2013-01-31 15:02 9893FlashBuilder编译后自动生成的xx.html里面定义 ... -
FlexContext, FlexClient,FlexSession
2013-01-15 15:05 2431使用了BlazeDS后,可以从FlexContext中获取一系 ... -
防止RemoteObject批处理AMF消息
2013-01-14 17:01 1344问题描述: 如果你在短时内调用同一个java对象上的两个方法, ... -
自动检测http和https的RemoteObject
2013-01-13 10:30 1845package { import util.Bro ... -
flex浏览器相关辅组类
2012-12-06 13:39 1290package util { import flash. ... -
Flex可变参数带来的问题
2012-12-06 13:34 1533当你在flex的方法中用了可变参数后,你会发现这些参数传到ja ... -
flex如何通过类名称实例化对象
2012-11-30 13:52 2777Getting the class from an objec ... -
flexlib的treeGrid用法
2012-11-30 13:46 1335为了使用treeGrid,通常你需要定义自己的DataDesc ... -
自定义flex tree的DataDescriptor
2012-11-30 13:42 1451public class EnvironmentDataDes ... -
关于Boolean类型在flex与java中间传递的问题
2012-11-30 13:38 1293/** *为简化,只列举两个字段 */ publi ... -
给Flex的Tree赋值方式(XML和ArrayCollection)
2012-11-30 09:33 40661)方式一,mxml内嵌xml数据赋值方式,Embedded ... -
Custom Alert
2012-11-26 19:21 0<?xml version="1.0&qu ... -
Flex服务端分页
2012-11-14 17:00 1094Structure: model event ... -
Flex可携带数据的Aler组件(DataCarriableAlert)
2012-11-14 16:52 1373package component.alert { ...
相关推荐
本文将深入探讨如何在Flex中自定义Datagrid的ItemRender,以实现按钮、单选、复选和日期等控件的集成。 首先,我们需要了解ItemRender的基本概念。ItemRenderer是Flex提供的一种机制,允许开发者为数据网格中的每一...
在Flex编程中,自定义DataGrid是常见的需求,特别是在处理大量数据并需要提供用户友好的交互体验时。本文将深入探讨如何在Flex中实现自定义的DataGrid,以支持复选框选择和分页功能。 首先,让我们了解Flex ...
总的来说,通过自定义DataGrid的渲染器,我们可以实现更灵活的数据显示效果。在这个例子中,我们学会了如何根据数据的值动态改变单元格的颜色,增强了用户界面的交互性和可视化效果。这种技术在数据监控、报表展示等...
在 Flex 开发中,ItemRenderer 是一种非常强大的工具,它允许开发者自定义列表(List)、数据网格(DataGrid)等控件中每一项的外观和行为。通过 ItemRenderer,我们可以实现更加灵活和动态的界面设计。 #### 二、...
首先,`itemRenderer`是`DataGrid`中用于自定义每一行数据项显示方式的组件。通过自定义`itemRenderer`,我们可以使每行数据显示为更复杂的结构,如包含`checkbox`,这在需要用户进行多项选择时非常有用。创建`...
综上所述,这个项目可能涉及到一个使用Flex DataGrid展示节目或课程播表的应用,播表数据存储在XML文件中,每个节目单元格通过自定义的ItemRenderer展现,可能包含Flash播放器,并且可以通过点击单元格触发页面跳转...
在Flex4中,动态生成DataGrid以及应用客户化itemRenderer是一项关键技能,它允许开发者根据运行时的数据结构灵活地创建用户界面。以下是对这个主题的详细解释: 首先,`DataGrid`组件是Flex中用于展示表格数据的...
创建好自定义ItemRenderer后,我们需要将其应用到DataGrid的列上。假设我们有一个名为`myColumn`的列,可以这样设置: ```actionscript myColumn.itemRenderer = new ClassFactory(CustomRowRenderer); ``` 3. **...
在实际应用中,我们经常需要根据特定条件或者需求自定义Datagrid的行背景色,以增强视觉效果,或者突出显示特定行的信息。本文将深入探讨如何在Flex中实现对datagrid行背景色的自定义。 首先,了解Flex Datagrid的...
- 在DataGrid的`itemRenderer`属性中指定自定义ItemRenderer类。 2. 运算符渲染器(OperatorRenderer) 对于更复杂的场景,可以使用运算符渲染器(OperatorRenderer)。它允许在单元格中插入复杂的组件,如下拉...
3. **应用自定义ItemRenderer**:在Datagrid中指定使用自定义的ItemRenderer。这可以通过`itemRenderer`属性实现。 ```mxml <mx:DataGrid id="dg" dataProvider="{dataProvider}"> <mx:itemRenderer> ...
在DataGrid的每一行中添加修改和删除按钮,通常需要自定义ItemRenderer。ItemRenderer是DataGrid列中每个单元格的外观和行为定制组件。我们可以通过继承MX的ListBase类或者UIComponent类来创建自定义的ItemRenderer...
在主应用中,你需要告诉List或DataGrid使用`friendItem`作为其ItemRenderer。这可以通过在数据列或listItemRenderer属性中设置完成: ```actionscript <s:itemRenderer> </s:itemRenderer> ``` 7. ...
总结,改变Flex DataGrid中某一行的背景颜色通常涉及自定义ItemRenderer、使用CSS样式或者监听事件。选择哪种方法取决于具体需求,如是否需要复杂逻辑、性能要求以及代码可维护性等因素。通过这些技术,我们可以使...
总的来说,`Flex DataGrid`的`itemRenderer`机制为我们提供了强大的自定义能力,通过创建自定义组件并绑定数据,我们可以实现各种复杂的数据显示和交互功能。在实际项目中,根据具体需求,还可以扩展这些渲染器,...
要实现动态改变单元格字体颜色的功能,我们需要自定义DataGrid的ItemRenderer。ItemRenderer是DataGrid用于渲染每个数据项的组件。通过创建自定义ItemRenderer,我们可以对每个单元格的外观进行完全控制,包括字体...
这涉及到对ItemRenderer和HeaderRenderer的自定义。 ItemRenderer是DataGrid中用于每个单元格显示的组件,它负责将数据模型转换为可视化的元素。为了创建自定义的ItemRenderer,你需要创建一个类并实现两个关键接口...
3. **自定义ItemRenderer**:由于DataGrid默认不支持直接显示二进制图片,我们需要创建一个自定义的ItemRenderer。ItemRenderer是DataGrid中每个单元格的可视化表示。在这个自定义renderer中,我们将处理二进制数据...
<mx:DataGrid dataProvider="{users}" itemRenderer="com.myapp.renderers.UserItemRenderer" /> ``` ## 四、进一步优化 1. **响应式设计**:可以根据数据或屏幕尺寸的变化,动态调整渲染器的布局和样式。 2. **...
在DataGrid的`<mx:columns>`或`<s:columns>`标签中,为包含图片的列指定你的自定义ItemRenderer。 ### 方法二:使用CellFactory 1. **创建CellFactory**: 创建一个类,实现`mx.controls.listClasses....