DataGrid テーブルに DropDownList を追加しようとしています。ユーザーがドロップダウン リストからアイテムを選択した後、選択したアイテムが反映されないか、選択されませんでした。ComboBoxGridItemEditor を使用して、求めている結果を達成できることを知っています。しかし、コンボ ボックスは編集可能です。ユーザーが編集するのではなく、リスト内の選択肢の 1 つから選択するだけです。これが、dataGrid に dropDownList を追加しようとする私の理由です。
ドロップダウン リストで選択した項目を認識して dataGrid のセルの値を更新し、その値をデータ プロバイダーに保存する方法を教えてください。
問題 : 青を選択しようとすると、セルが更新されず、代わりに赤のままになります。
ありがとうレカ。
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
private var myDP:ArrayCollection = new ArrayCollection([
{label1:"Order #2314", quant:3, color:'red'},
{label1:"Order #2315", quant:3, color:'red'}
]);
]]>
</fx:Script>
<s:DataGrid id="myDG" x="85" y="57" width="393" height="151" dataProvider="{myDP}"
editable="true" variableRowHeight="true">
<s:columns>
<s:ArrayList>
<s:GridColumn dataField="label1" headerText="Order #" editable="false"/>
<s:GridColumn dataField="quant" headerText="Qty" editable="true"/>
<s:GridColumn dataField="color" headerText="Color" editable="true">
<s:itemEditor>
<fx:Component>
<s:GridItemEditor>
<s:DropDownList id="myDropList" requireSelection="true">
<s:dataProvider>
<s:ArrayCollection>
<fx:String>red</fx:String>
<fx:String>blue</fx:String>
<fx:String>green</fx:String>
</s:ArrayCollection>
</s:dataProvider>
</s:DropDownList>
</s:GridItemEditor>
</fx:Component>
</s:itemEditor>
</s:GridColumn>
</s:ArrayList>
</s:columns >
</s:DataGrid>