Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 在DataGridColumn上使用变量自定义itemEditor的Flex DataGrid_Apache Flex_Datagrid_Itemeditor - Fatal编程技术网

Apache flex 在DataGridColumn上使用变量自定义itemEditor的Flex DataGrid

Apache flex 在DataGridColumn上使用变量自定义itemEditor的Flex DataGrid,apache-flex,datagrid,itemeditor,Apache Flex,Datagrid,Itemeditor,是否仍然可以基于数据字段值创建自定义项编辑器?例如: <mx:DataGrid editable="true" dataProvider="{_actionArr}" id="prop"> <mx:column> <mx:DataGridColumn headerText="Component" editable="false" dataField="label"/> <mx:DataGridColumn headerText="

是否仍然可以基于数据字段值创建自定义项编辑器?例如:

<mx:DataGrid editable="true" dataProvider="{_actionArr}" id="prop">  
  <mx:column>
    <mx:DataGridColumn headerText="Component" editable="false" dataField="label"/>
    <mx:DataGridColumn headerText="Value" editable="true" itemEditor="{data.ie}"/>
  </mx:columns> 
</mx:DataGrid>

在过去,我通过创建一个包含所有三个控件的自定义渲染器来处理这个问题,并在渲染器上设置数据时通过检查数据类型来确定哪一个控件是可见的。您可以通过覆盖set data方法并相应地设置三个控件上的visible和includeInLayout属性来完成此操作。希望有帮助。

回答得有点晚。。。你可以用。Farata Systems已在博客()上对此进行了阐述,并在书中作了更详细的解释。

是的,这就是我现在正在做的。我想可能会有一个更灵活的习惯用法。
[Bindable] private var _actionArr:Array = [   
{ label:"Slider", val:"", ie:mx.controls.HSlider },   
{ label:"ComboBox", val:"", ie:mx.controls.ComboBox  },   
{ label:"Button", val:"", ie:mx.controls.Button}];