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

過去に、3 つのコントロールすべてを含むカスタム レンダラーを作成し、データがレンダラーに設定されたときにデータ型をチェックして、どれが表示されるかを判断することで、これを処理しました。これを行うには、set data メソッドをオーバーライドし、それに応じて 3 つのコントロールの 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 に答える