我正在尝试在 DataGrid 表中添加一个 DropDownList。用户从下拉列表中选择其中一项后,我选择的项目没有反映或没有被选中。我知道我可以使用 ComboBoxGridItemEditor 来实现我要求的结果。但是组合框是可编辑的,我不希望用户进行编辑,而只是从列表中的一个选项中进行选择。这就是我尝试在 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>