`

FLEX4实践—DropDownList与ComboBox

    博客分类:
  • flex
阅读更多

FLEX4 相对 FLEX3的组件变化列表中列出以这么一项:

mx.controls.ComboBox      ->    spark.components.DropDownList

官方解释如下:

    ComboBox 控件是 DropDownListBase 控件的子类。与 DropDownListBase 控件类似,当用户从 ComboBox 控件的下拉列表中选择某项时,数据项将显示在控件的提示区域中。

    这两个控件之间的一个区别是,ComboBox 控件的提示区域是使用 TextInput 控件实现的,而 DropDownList 控件是通过 Label 控件实现的。因此,用户可以编辑控件的提示区域,以输入非预定义选项之一的值。

    例如,DropDownList 控件仅允许用户从控件的预定义项列表中进行选择。ComboBox 控件允许用户既可以从预定义项中选择,也可以在提示区域中输入新项。您的应用程序可以识别已输入一个新项,(可选)并将其添加到控件的项列表中。

ComboBox 控件还可以当用户在提示区域中输入字符时搜索项列表。当用户输入字符时,将打开控件的下拉区域,然后滚动到项列表中最接近的匹配项并加亮。

今天在测试使用<s:ComboBox dataProvider="{provider}" labelField="label"/>时发现编译没报错,但运行后却始终也显示不出控件。上网搜了一下,发现原来控件被替换了。

针对FLEX3中ComboBox的用法,在FLEX4中应改成以下用法:

<s:DropDownList dataProvider="{provider}" labelField="label"/>

<mx:ComboBox dataProvider="{provider}" labelField="label"/>

需要注意的是:

1)DropDownList的DataProvider不能是Array类型的

2)DropDownList默认显示时与ComboBox不一样,需要手动指定 selectedIndex的值

下面给出一段示例:

<?xml version="1.0" encoding="utf-8"?>  
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"    
               xmlns:s="library://ns.adobe.com/flex/spark"    
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="init()">  
       
    <fx:Declarations>  
        <!-- Place non-visual elements (e.g., services, value objects) here -->  
        <fx:Array id="queryField">  
            <fx:Object dataField="requestStatuId"  headerText="RequestId"/>  
            <fx:Object dataField="executeName"  headerText="ExecuteName"/>  
            <fx:Object dataField="executeCode" headerText="ExecuteCode"/>  
        </fx:Array>  
        <s:ArrayList id="queryField1">  
            <fx:Object dataField="requestStatuId"  headerText="RequestId"/>  
            <fx:Object dataField="executeName"  headerText="ExecuteName"/>  
            <fx:Object dataField="executeCode" headerText="ExecuteCode"/>  
        </s:ArrayList>  
    </fx:Declarations>  
    <s:Panel x="448" y="159" width="250" height="200">  
        <mx:ComboBox x="73" y="10" dataProvider="{queryField}" labelField="headerText" selectedIndex="0"/>  
        <s:DropDownList x="73" y="50" dataProvider="{queryField1}" labelField="headerText" selectedIndex="0"/>  
    </s:Panel>  
</s:Application>  

 

分享到:
评论

相关推荐

    实现 spark DropDownList 及 ComboBox 的滑动弹入弹出

    在Spark框架中,DropDownList和ComboBox是两种常用的下拉选择组件。它们在用户界面设计中扮演着重要角色,提供了一种简洁的方式让用户从预定义的选项中进行选择。本篇文章将详细探讨如何实现这两种组件的滑动弹入弹...

    flex 下拉 带复选框 多选

    在Flex中,我们可以利用两种主要的组件来实现这样的功能:ComboBox和DropDownList。这两种组件都是用户界面交互的重要元素,允许用户从一组预定义的选项中进行选择。 ComboBox是一种组合输入框和下拉列表的控件,...

    flex多选下拉框

    `combobox`与`dropdownlist`相似,但通常包含额外的功能,如搜索过滤、分组、多选等。在多选下拉框中,`checkbox`扮演了关键角色。`checkbox`是一种复选框,允许用户从一组选项中选择多个。结合`flex`布局,我们可以...

    flex checkboxtree复选树形下拉框

    此外,为了实现下拉框的效果,他们可能使用了`mx.controls.DropDownList`或者`spark.components.ComboBox`,并在其`dataProvider`属性中设置了`Tree`控件,以展示树形结构的选项。 `GroupXML.xml`文件作为数据源,...

    flex 4.6Css

    VScrollBar | HSlider | VSlider | DropDownList | TextArea | TextInput | ComboBox | List NumericStepper | Spinner | Panel | BorderContainer | TitleWindow | VideoPlayer | DataGrid mx包含组件: Accordion...

    vscode-flex-snippets:适用于Visual Studio Code的Flex(MX和Spark)代码段

    VSCode的Flex代码段 快速创建MX和Spark组件。 如何使用 在VSCode中安装扩展 打开mxml文件,开始输入组件名称并... DropDownList Ellipse MX Form Spark Form Group HBox HGroup HorizontalLayout HTTPService

    XML节点和属性的访问

    然而,在Flex中,数据绑定涉及到组件与数据源的交互。对于`ComboBox`和`.DropDownList`,它们的`dataProvider`属性用于绑定数据。`ComboBox`允许`dataProvider`为`Object`类型,因为它可以处理多种数据类型,如`...

    DataGridCombox下拉列

    为了在`DataGrid` 的某一列实现下拉列表,我们需要创建一个新的组件类,继承自`mx.controls.ComboBox` 或 `spark.components.DropDownList`,然后根据需求进行定制。这可能包括调整样式、添加事件监听器、处理特定的...

    C#控件变量命名规范

    5. **ComboBox & DropDownList (组合框)**: 前缀`cbo`,如`cboEnglish`。 6. **Communications (通信控件)**: 前缀`com`,如`comFax`。 7. **ContextMenu (上下文菜单)**: 前缀`ctxmnu`,如`ctxmnuEdit`. 8. **...

    Asp.net控件命名规范

    4. **ADO 数据 (ADOData)** - **命名前缀:** `ado` - **示例:** `adoBiblio` - **解释:** ADO(ActiveX Data Objects)是一种数据访问技术。如果使用ADO来处理图书馆资料,则可以将控件命名为`adoBiblio`。 5....

Global site tag (gtag.js) - Google Analytics