flex4.5 DataGrid的GridItemEditor属性设置
在flex3里面,更改DataGrid的GridItemEditor非常方便,只需要设置itemEditor属性就可以了 比如要使用NumericStepper作为itemEditord? <mx:DataGridColumn headerText="Quantity" dataField="quantity" itemEditor="mx.controls.NumericStepper" editorDataField="value"> 在用flex4.5的时候使用itemEditor,差别还是很大的 官方文档中提到 一个"item editor"可以是任何一个实现了 IGridItemEditor 接口的Spark组件,并且DataGrid每列都可以指定不同的 "item editor" 类 也就是说不能随便指定控件了,必须是一个实现了 IGridItemEditor 接口的Spark组件才可以被用作itemEditor属性。 所有实现IGridItemEditor接口的类应该用 "data"的 setter 中去初始化编辑组件的值默认实现类GridItemEditor 用 data[column.dataField] 设置 value属性.?这样允许子类 通过 覆盖 value setter方法将值赋给更多的编辑控件. 所以如果使用NumericStepper的话就得当成一个GridItemEditor的child Adobe的官方博客上有解决方案,重载了GridItemEditor的value属性的getter和setter 像这样
<s:GridColumn headerText="数量" dataField="quantity"> <s:itemEditor> <fx:Component> <s:GridItemEditor > <s:NumericStepper id="quantity"/> <fx:Script> <![CDATA[ override public function get value():Object { return quantity.value; } override public function set value(newValue:Object):void { quantity.value = newValue.toString(); } ]]> </fx:Script> </s:GridItemEditor> </fx:Component> </s:itemEditor> </s:GridColumn> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 如何创建.gitignore文件
- 【第626期】浅谈Hybrid技术的设计与实现
- oracle 自定义数组 以及数组 table() 查询
- oracle定时器调用存储过程
- Ehcache(02)——ehcache.xml简介
- Flex样式-ComboBox篇
- cocos3.2 cocos2dx Stencil buffer is not enabled
- ruby – Object如何知道const_get方法?
- Install Chromium (with Pepper Flash) on CentOS/Red Hat
- c# – 在ReportDocument.ExportToHttpResponse中尝试/捕获不