0

是否有根据 dataField 值创建自定义项目编辑器?例如:

<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>

...

[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}];
4

2 回答 2

2

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

于 2010-06-18T17:34:36.603 回答
0

一个迟到的答案......你可以使用ClassFactory。Farata Systems 对此进行了博客 ( http://flexblog.faratasystems.com/2006/09/26/ditemrenderers-vs-itemeditors ),并在他们的书中进行了更详细的解释。

于 2010-07-31T15:53:07.053 回答