- 浏览: 1148674 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (411)
- Java Foundation (41)
- AI/机器学习/数据挖掘/模式识别/自然语言处理/信息检索 (2)
- 云计算/NoSQL/数据分析 (11)
- Linux (13)
- Open Source (12)
- J2EE (52)
- Data Structures (4)
- other (10)
- Dev Error (41)
- Ajax/JS/JSP/HTML5 (47)
- Oracle (68)
- FLEX (19)
- Tools (19)
- 设计模式 (4)
- Database (12)
- SQL Server (9)
- 例子程序 (4)
- mysql (2)
- Web Services (4)
- 面试 (8)
- 嵌入式/移动开发 (18)
- 软件工程/UML (15)
- C/C++ (7)
- 架构Architecture/分布式Distributed (1)
最新评论
-
a535114641:
LZ你好, 用了这个方法后子页面里的JS方法就全不能用了呀
页面局部刷新的两种方式:form+iframe 和 ajax -
di1984HIT:
学习了,真不错,做个记号啊
Machine Learning -
赵师傅临死前:
我一台老机器,myeclipse9 + FB3.5 可以正常使 ...
myeclipse 10 安装 flash builder 4.6 -
Wu_Jiang:
触发时间在将来的某个时间 但是第一次触发的时间超出了失效时间, ...
Based on configured schedule, the given trigger will never fire. -
cylove007:
找了好久,顶你
Editable Select 可编辑select
When to Use labelFunction versus ItemRenderer:
http://www.kylehayes.info/2007/10/09/When-to-Use-labelFunction-versus-ItemRenderer/
理解 Flex itemRenderer 系列:
英文:
http://www.adobe.com/devnet/flex/articles/itemrenderers_pt1.html
中文:
第 1 部分:内联渲染器 http://www.adobe.com/cn/devnet/flex/articles/itemrenderers_pt1.html
第 2 部分: 外部渲染器 http://www.adobe.com/cn/devnet/flex/articles/itemrenderers_pt2.html
在我已知概念里的一丁点儿总结:一
Setting the itemRenderer or itemEditor property in ActionScript:
http://livedocs.adobe.com/flex/3/html/help.html?content=cellrenderer_4.html
自定义itemRenderer:
Adobe Flex 4.5 -> Creating MX inline item renderers and editors:
http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7ca4.html
要注意:使用<fx:Component>会改变变量的scope。所以,在<fx:Component>中,是可以定义和外部名字相同的变量的;如<fx:Component>外部已定义了名为domintDataProvider的变量:
总之一句话:<fx:Component>会创造一个全新的scope!
那在<fx:Component>内部怎么使用其外部的变量等那?答案是通过outerDocument关键字来使用,正如上面引用中提到的那样。另外,如果<fx:Component>想访问的变量不在<fx:Component>的定义文件中,而在其定义文件的父文件中,这时想访问这个的话,可以使用 parentDocument 关键字:
http://flextips.corank.com/tech/story/using-parentdocument-or-outerdocument-
重写set data()方法时:
记得要加 super.data = value;
通过itemrender让datagrid中选定的行的字体变粗:
Flex DataGrid Selected Row Styling:
http://www.switchonthecode.com/tutorials/flex-datagrid-selected-row-styling
通过工厂去创建datagrid列的itemrender;适用为动态增加的datagridcolumn添加itemrender:
DIFFERENT ROWS IN DATAGRID – PROGRAMMATICALLY ADDED ITEMRENDERERS (CLASSFACTORY AND IFACTORY):
http://www.flexer.info/2009/01/09/different-rows-in-datagrid-programmatically-added-itemrenderers-classfactory-and-ifactory/
Flex datagrid/advancedatagrid按条件显示行的背景颜色:
http://blog.csdn.net/cfhacker007/archive/2010/08/03/5784523.aspx
在datagrid中使用itemRenderer后,可能出现的问题:
1 datagrid中itemDoubleClick 失效的问题:
Flex : DataGrid ItemRenderer当某列使用了itemRenderer后,在该列的空白处双击,不会触发itemDoubleClick处理。下面的解决方式,试过,不好使:
Flex : DataGrid ItemRenderer and DoubleClick :
http://www.kerkness.ca/flex-datagrid-itemrenderer-and-doubleclick-oh-my/
2 datagrid中contextMenu 失效问题:
datagrid添加了自定制的contextMenu;当某列使用了itemRenderer后,在该列点击右键,contextMenu无效。下面的解决方式,试过,不好使:
Flex4 ContextMenu() not showing added Items:
http://stackoverflow.com/questions/5312115/flex4-contextmenu-not-showing-added-items
完整的itemRenderer例子:
http://www.kylehayes.info/2007/10/09/When-to-Use-labelFunction-versus-ItemRenderer/
理解 Flex itemRenderer 系列:
英文:
http://www.adobe.com/devnet/flex/articles/itemrenderers_pt1.html
中文:
第 1 部分:内联渲染器 http://www.adobe.com/cn/devnet/flex/articles/itemrenderers_pt1.html
第 2 部分: 外部渲染器 http://www.adobe.com/cn/devnet/flex/articles/itemrenderers_pt2.html
引用
listData as DataGridListData-它将 listData 转换为 DataGridListData 对象, 使您能访问它的 dataField
.dataField-该字段用于渲染的列。它使这个 itemRenderer 变得一般。可以将这个 itemRenderer 用于多个列。在本例中, dataField 是“price”。
data[ ... ]-它访问项目中特定字段的数据。在本例中, 它是价格列。
记住, itemRenderer 是循环使用的, 所以如果测试失败, 还必须将颜色设置回白色。否则, 当用户滚动列表时, 所有 itemRenderer 最终将变为紫色。
注意: 请记住 itemRenderer 是循环使用的, 所以您必须始终恢复值;不要在 itemRenderer 中保留 if 而没有 else。
.dataField-该字段用于渲染的列。它使这个 itemRenderer 变得一般。可以将这个 itemRenderer 用于多个列。在本例中, dataField 是“price”。
data[ ... ]-它访问项目中特定字段的数据。在本例中, 它是价格列。
记住, itemRenderer 是循环使用的, 所以如果测试失败, 还必须将颜色设置回白色。否则, 当用户滚动列表时, 所有 itemRenderer 最终将变为紫色。
注意: 请记住 itemRenderer 是循环使用的, 所以您必须始终恢复值;不要在 itemRenderer 中保留 if 而没有 else。
在我已知概念里的一丁点儿总结:一
引用
对于DataGridColumn,可对列数据做处理的属性有
labelFunction(参数为Function)
itemRenderer(参数为IFactory) 两个;
而对于ComboBox,可对数据列表做处理的属性有
labelFunction(参数为Function)
labelToItemFunction(参数为Function)
itemRenderer(参数为IFactory)
itemRendererFunction(参数为Function) 四个
这里让我纠结的是,ComboBox的itemRenderer和itemRendererFunction到底啥区别那?待着日抽空google下。
labelFunction(参数为Function)
itemRenderer(参数为IFactory) 两个;
而对于ComboBox,可对数据列表做处理的属性有
labelFunction(参数为Function)
labelToItemFunction(参数为Function)
itemRenderer(参数为IFactory)
itemRendererFunction(参数为Function) 四个
Setting the itemRenderer or itemEditor property in ActionScript:
http://livedocs.adobe.com/flex/3/html/help.html?content=cellrenderer_4.html
引用
// Cast listData to DataGridListData. var myListData:DataGridListData = DataGridListData(listData); // Access information about the data passed // to the cell renderer. text="row index: " + String(myListData.rowIndex) + " column index: " + String(myListData.columnIndex);
自定义itemRenderer:
Adobe Flex 4.5 -> Creating MX inline item renderers and editors:
http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7ca4.html
引用
The <fx:Component> tag defines a new scope in an MXML file, where the local scope of the item renderer or item editor is defined by the MXML code block delimited by the <fx:Component> and </fx:Component> tags. To access elements outside of the local scope of the item renderer or item editor, you prefix the element name with the outerDocument keyword.
For example, you define one variable named localVar in the scope of the main application, and another variable with the same name in the scope of the item renderer. From within the item renderer, you access the application’s localVar by prefixing it with outerDocument keyword
For example, you define one variable named localVar in the scope of the main application, and another variable with the same name in the scope of the item renderer. From within the item renderer, you access the application’s localVar by prefixing it with outerDocument keyword
要注意:使用<fx:Component>会改变变量的scope。所以,在<fx:Component>中,是可以定义和外部名字相同的变量的;如<fx:Component>外部已定义了名为domintDataProvider的变量:
<fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> <!-- 航班性质 --> <s:ArrayList id="domintDataProvider"> <fx:Object label="国内" data="D"/> <fx:Object label="国际" data="I"/> </s:ArrayList>在component内部你仍然可以定义一个同名的变量domintDataProvider。并且这两个同名的变量是完全不同的,因为它们在不同的作用域scope中:
<fx:Component> <mx:VBox horizontalCenter="0"> <fx:Script> <![CDATA[ import mx.collections.ArrayList; import spark.components.Label; //这里还必须得import一次? so strange! // Variable in the renderer scope. //internal var domintLabel:String = ""; private var domintDataProvider:ArrayList = outerDocument.domintDataProvider;对mx.collections.ArrayList的import声明,在<fx:Component>中必须也得再次做一次(即使你在<fx:Component>的外部已经import了一次;但这里的<fx:Component>已经彻底改变了变量等的作用域scope,外部的import在<fx:Component>内已不可用)
总之一句话:<fx:Component>会创造一个全新的scope!
那在<fx:Component>内部怎么使用其外部的变量等那?答案是通过outerDocument关键字来使用,正如上面引用中提到的那样。另外,如果<fx:Component>想访问的变量不在<fx:Component>的定义文件中,而在其定义文件的父文件中,这时想访问这个的话,可以使用 parentDocument 关键字:
http://flextips.corank.com/tech/story/using-parentdocument-or-outerdocument-
引用
This one saved me a LOT of time the other day. When using inline itemRenderers, the <mx:Component> tag that you have to write before the itemRenderer tags marks a change of scope. To call methods on the parent mxml document from an inline renderer , use the parentDocument property.
重写set data()方法时:
记得要加 super.data = value;
override public function set data(value: Object):void { super.data = value; //这句代码必须写上! //自己加的处理代码 }http://vikinghammer.com/2009/02/25/flex-make-sure-to-call-super-in-item-renderer-override-methods/
通过itemrender让datagrid中选定的行的字体变粗:
Flex DataGrid Selected Row Styling:
http://www.switchonthecode.com/tutorials/flex-datagrid-selected-row-styling
通过工厂去创建datagrid列的itemrender;适用为动态增加的datagridcolumn添加itemrender:
DIFFERENT ROWS IN DATAGRID – PROGRAMMATICALLY ADDED ITEMRENDERERS (CLASSFACTORY AND IFACTORY):
http://www.flexer.info/2009/01/09/different-rows-in-datagrid-programmatically-added-itemrenderers-classfactory-and-ifactory/
Flex datagrid/advancedatagrid按条件显示行的背景颜色:
http://blog.csdn.net/cfhacker007/archive/2010/08/03/5784523.aspx
在datagrid中使用itemRenderer后,可能出现的问题:
1 datagrid中itemDoubleClick 失效的问题:
Flex : DataGrid ItemRenderer当某列使用了itemRenderer后,在该列的空白处双击,不会触发itemDoubleClick处理。下面的解决方式,试过,不好使:
Flex : DataGrid ItemRenderer and DoubleClick :
http://www.kerkness.ca/flex-datagrid-itemrenderer-and-doubleclick-oh-my/
2 datagrid中contextMenu 失效问题:
datagrid添加了自定制的contextMenu;当某列使用了itemRenderer后,在该列点击右键,contextMenu无效。下面的解决方式,试过,不好使:
Flex4 ContextMenu() not showing added Items:
http://stackoverflow.com/questions/5312115/flex4-contextmenu-not-showing-added-items
完整的itemRenderer例子:
<mx:DataGridColumn headerText="@Resource(bundle='messages_zh_CN', key='fidsDepf.grid.domint')" dataField="domint" > <mx:itemRenderer> <fx:Component> <mx:VBox horizontalAlign="center"> <fx:Script> <![CDATA[ import mx.collections.ArrayCollection; //这里还必须得import一次? so strange! // Variable in the renderer scope. [Bindable] private var domintLabel:String = ""; private var domintDataProvider:ArrayCollection; override public function set data(value: Object):void { super.data = value; //这句代码必须写上! domintDataProvider = outerDocument.domintDataProvider; for(var i:int=0; i<domintDataProvider.length; i++) { if(domintDataProvider.getItemAt(i).data == value.domint) { domintLabel = domintDataProvider.getItemAt(i).label; } else { /// } } } ]]> </fx:Script> <s:Label text="{domintLabel}" /> </mx:VBox> </fx:Component> </mx:itemRenderer> </mx:DataGridColumn>
发表评论
-
myeclipse 10 安装 flash builder 4.6
2011-12-11 12:47 15454从Flash Builder 4 之后,ado ... -
FLEX:Nested Object & Nested Data Grid
2011-08-15 18:14 2159Flex Nested Object & Nested ... -
FLEX 服务器端交互: remoteObject & AsyncToken & 数据定时刷新 & Timer
2011-06-21 18:47 2787动态调用RemoteObject: Dynamically i ... -
FLEX : Tree & contextMenu & Array's filter & ArrayCollection's filterFunction
2011-05-29 16:05 1931Using Flex 4.5 / Using data-dri ... -
FLEX : ObjectProxy & <fx:Model> tag
2011-05-28 21:37 2023今天碰到了一个非常让我困扰的问题,使我觉得很有必要对Objec ... -
Flex:Application&Variable Scope(this owner parent parentApp parentDoc outerDoc)
2011-05-28 17:18 1433关键字: this owner parent parentA ... -
Flex : Performance tuning 性能调优
2011-05-28 14:50 1708附件: Flex Application Performanc ... -
FLEX example 例子
2011-05-28 12:12 3234How to find an ArrayCollection ... -
FLEX : Validator 验证
2011-05-26 23:57 2212Data Access and Interconnectivi ... -
FLEX : Event 事件
2011-05-24 19:51 1724ActionScript 3.0 Developer’s Gu ... -
FLEX:Data Binding 数据绑定
2011-05-24 14:44 3644务须精读的文章: Flex data binding pitf ... -
FLEX Component 组件 汇总
2011-05-23 13:56 2312Combox默认将对象中名为label的属性作为显示用的lab ... -
FLEX : dragEnabled & dropEnabled
2011-05-22 17:38 1719通过设置dragEnabled属性为true,可以使这些控件作 ... -
FLEX Data type 数据类型
2011-05-22 09:21 2092Programming ActionScript 3.0 / ... -
FLEX ERROR WARNING 总结
2011-05-22 08:13 3243常会碰到的错误:TypeError: Error #1009: ... -
Flex Application 初始化顺序
2011-05-22 06:15 1670http://blog.csdn.net/chengyong ... -
Flex Metadata 元数据:Bindable(注意首字母大写),etc
2011-05-22 06:08 1782Adobe® Flex™ 3.2 语言参考 -> 元数据 ... -
FLEX笔记
2009-04-15 10:29 2347Adobe Flex 4 官方资料库: http://help ...
相关推荐
- `LinearAxis`:定义了纵轴为线性轴,`baseAtZero="false"`表示纵轴不一定从零开始,`minimum`和`maximum`则设置了纵轴的最小值和最大值范围,`labelFunction`引用了自定义的`linearAxis_labelFunc`函数来格式化轴...
### Flex常用UI组件详解 #### 一、DataGrid 组件 **DataGrid** 是 Flex 中一个非常重要的组件,主要用于展示表格形式的数据集。它能够显示包含多列数据的信息,并提供了丰富的交互特性,使得用户能够方便地操作...
6. **自定义节点**:除了基本的文本节点,你还可以创建自定义节点组件,这可以通过`itemRenderer`属性实现。自定义渲染器可以为每个节点提供更复杂的视图,如包含图标、复选框或其他UI元素。 7. **折叠与展开**:...
### Flex中DataGrid某列显示值的自定义与字体颜色更改 #### 一、自定义DataGridColumn显示值 在Flex中,我们可以通过多种方式来定制DataGrid中的DataGridColumn的显示内容,例如更改显示的文本或者根据不同的条件...
1. **Spark图表组件**:Flex4引入了Spark图表组件,相比先前的MX图表,Spark图表提供了更丰富的样式和更好的性能。主要的类包括`LineChart`,它可以绘制线条连接的数据点,非常适合用来展现曲线趋势。 2. **数据...
每个扇区代表数据源中的一个条目,通过PieSeries类设置数据系列,调整sliceWidth表示每个扇区的大小,使用labelFunction可以自定义每个扇区的标签内容。 区域图则强调了数据的范围和区间,通常用于展示连续性数据的...
根据给定的信息,本文将详细解析Flex中的数据验证与显示技术。主要聚焦于Flex框架下对日期、货币以及字符串等数据类型的验证与显示方法,并通过示例代码进行具体阐述。 ### Flex中的数据验证 Flex提供了丰富的功能...
`labelFunction`可以自定义显示的标签,`showDataLabels`属性控制是否显示数据标签,而`explodeRatio`可以设置某个扇区突出的比例。 为了方便使用,通常会预先打包好这些图表组件,形成库或者独立的SWC文件,用户...
总结起来,Flex 4中的`DataGrid`通过结合`DateFormatter`和自定义的`labelFunction`可以方便地实现日期格式的转换,使数据显示更加人性化。理解并熟练运用这些技巧,可以提升用户体验,增强应用程序的易用性。
一个非常不错的flex时间控件 <local:UXDateField selectedDate="{new Date()}" labelFunction="selectDateTime" width="150"/> public function selectDateTime(item:Date):String { return item.fullYear ...
function onGridUpdateComplete(event:FlexEvent):void { for (var i:uint = 0; i ; i++) { var col:GridColumn = dataGrid.columns[i]; var maxWidth:Number = 0; for each (var item:Object in dataGrid.data...
**知识点1:Flex布局** - **垂直布局** (`s:VerticalLayout`): 控件垂直排列。 - **水平布局** (`s:HorizontalLayout`): 控件水平排列。 - **平铺布局** (`s:TileLayout`): 类似于网格布局,自动调整大小以适应容器...
例如,`data`属性用于绑定数据,`labelFunction`可以自定义节点显示的文本,`itemRenderer`则允许我们定制每个节点的外观。另外,`childrenField`属性指定了数据对象中包含子项的字段名,这对于从数据源加载子节点至...
1. **LabelField**:DataGrid中的每个单元格默认显示的是数据源中的简单文本,但有时我们可能需要自定义显示内容,这时可以使用LabelField或LabelFunction来实现。 2. **ButtonColumn**:如果需要在DataGrid中添加...
7. **样式和皮肤**:Flex提供了丰富的样式和皮肤机制,允许我们定制Tree组件的外观,包括字体、颜色、边框等。 在实际应用中,我们可能会遇到更复杂的需求,比如异步加载数据、自定义节点图标、拖放功能等。对于...
- **`labelFunction`**: 可以通过设置`labelFunction`属性来自定义ComboBox项的显示内容。例如,当需要显示复合数据(如姓名等)时,可以通过编写一个函数来实现这一功能。 ```actionscript private function ...
在Flex中,可以使用`CategoryAxis`类来创建轴,并设置其`labelFunction`属性来自定义标签。图例可以通过`Legend`组件来创建,通过`dataProvider`属性关联到图表。 在`RadarChartTest`这个文件中,很可能包含了实现...
4. **labelFunction**: 自定义标签函数`mylabel`,用于格式化时间轴上的每个标签,使其显示为更友好的日期时间格式。 ### 动态数据更新机制 为了实现实时动态曲线图,案例中采用了一个定时器(`Timer`类)和一个...
设置控件的labelFunction 2.7节. 提供菜单数据 2.8. 动态填充菜单 2.9节. 为菜单类控件创建事件处理函数 2.10节. 显示一个通知窗口 2.11节. 使用Calendar控件 2.12节. 弹出窗口的显示和位置 2.13节. 自定义弹出式...