flex的datagrid中的某一列设置为下拉列表

遇到这个问题后,上网查找了一些可行的例子,经过修改后在工程内成功运行了。
需要首先在datagrid界面定义一个用于显示下拉列表的Component,在dataprovider中通过调用flex应用的主页面上的元素来提供。
这里曾经遇到过一个问题,当时数据源放置在了主页面的弹出的titlewindow界面上,后来通过在数据源的application内设置了弹出窗口的对象来获取数据。
<mx:Component id= "myComponent">          
                <mx:ComboBox dataProvider= "{Application.application.vararray}" selectedIndex="2">
                <mx:Script>
                <![CDATA[
               import mx.core.Application;
                ]]>
                </mx:Script>
                </mx:ComboBox>
</mx:Component>
在datagrid中,将设置好的component以itemEditer的形式放置到一个列中。即可显示下拉列表的形式。
<mx:DataGrid x="44" y="158" width="463" height="139" id="inputs" dataProvider="{myinputdata}" editable="true">
<mx:columns>
<mx:DataGridColumn headerText="变量类型" dataField="inputType" editable="false"/>
<mx:DataGridColumn headerText="变量描述" dataField="inputDesc" editable="false"/>
<mx:DataGridColumn headerText="变量赋值" dataField="inputValue" editorDataField="text" editable="true" itemEditor="{myComponent}"/>
</mx:columns>
</mx:DataGrid>

你可能感兴趣的:(Flex)