私はこのタイプの質問を既に多くの人に聞いていますが、その投稿はFlex FrameworkのItemRendererとItenEditorの実際の違いについて理解するための情報を私に与えてくれませんでした。ItemRendererとFlex 4のItemEditorの違いは何ですか?
私が知っているように、ItemRendererは主にビジュアル要素の表示に使用され、ItemEditorは主に編集目的で使用されます。
だから私はその違いを見つけるために、例を以下試してみました:
たItemRendererのために、私は以下のコードを使用:
<mx:DataGrid dataProvider="{initDG}">
<mx:columns>
<mx:DataGridColumn headerText="Artist" dataField="Artist"/>
<mx:DataGridColumn headerText="Album" dataField="Album"/>
<mx:DataGridColumn headerText="Price" dataField="Price">
<mx:itemRenderer>
<fx:Component>
<mx:TextInput restrict="0-9" maxChars="10" />
</fx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
<mx:DataGridColumn headerText="Cover" dataField="Cover"/>
</mx:columns>
</mx:DataGrid>
をし、次のように私は結果を得た:
価格フィールドは編集可能として表示されます。
そして再び次のように私はのitemEditorと同じコードを試してみました:
<mx:DataGrid dataProvider="{initDG}">
<mx:columns>
<mx:DataGridColumn headerText="Artist" dataField="Artist"/>
<mx:DataGridColumn headerText="Album" dataField="Album"/>
<mx:DataGridColumn headerText="Price" dataField="Price">
<mx:itemEditor>
<fx:Component>
<mx:TextInput restrict="0-9" maxChars="10" />
</fx:Component>
</mx:itemEditor>
</mx:DataGridColumn>
<mx:DataGridColumn headerText="Cover" dataField="Cover"/>
</mx:columns>
</mx:DataGrid>
を、次のように私は結果を得た:
しかし、ここでの価格フィールドは編集不可です。
だから、私はこれらのコントロールに新しいので、なぜそれが起こっているのか混乱しています。 ItemEditorを使用した後で、そのフィールドが編集不可能な理由。
誰かが知識を持っていれば、その背後にある理由は、これらの2つのコントロールに関する詳細を理解するのを助けてください。
こんにちは@Chrisあなたの再生のためにありがとう、私はDataGridを "editable = true"にしてitemRendererを保持し、カラムに "rendererIsEditor"を設定しないでください列も編集可能です。 ItemRendererとItemEditorの違いは何ですか?ItemEditorを使用する理由は? – Ashish
DataGridを "editable = true"のままにしておき、編集不可能な列に対してDataGridColumn "editable = false"を設定します。 itemRendererおよびitemEditorを削除します。編集可能な最も簡単なDataGridに戻ります。これは、あなたのニーズに十分かもしれません。これがどのように機能するか教えてください。 – Chris