`

向itemEditor回传多个值

    博客分类:
  • Flex
阅读更多

<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" 
    backgroundColor="yellow">
<!-- itemRenderers\events\myComponents\CityStateEditor.mxml -->


    <mx:TextInput id="setCity"  width="130" text="{data.City}"/>
                           
    <mx:ComboBox id="pickState" selectedItem="{data.State}">
        <mx:dataProvider>
            <mx:String>AL</mx:String>
            <mx:String>AK</mx:String>
            <mx:String>AR</mx:String>
            <mx:String>CA</mx:String>
            <mx:String>MA</mx:String>
        </mx:dataProvider>
    </mx:ComboBox>
</mx:VBox>

``````````````````````````````````````````````````````````

<!-- itemRenderers\events\ComplexDGEditorReturnObject.mxml -->

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
    width="700">
   
    <mx:Script>
        <![CDATA[

            import mx.events.DataGridEvent;
            import mx.events.DataGridEventReason;
            import mx.collections.ArrayCollection;
            import myComponents.CityStateEditor;
                       
            [Bindable]
            public var initDG:ArrayCollection = new ArrayCollection([
                {Company: 'Acme', Contact: 'Bob Jones',
                    Phone: '413-555-1212', City: 'Boston', State: 'MA'},
                {Company: 'Allied', Contact: 'Jane Smith',
                    Phone: '617-555-3434', City: 'SanFrancisco', State: 'CA'}
             ]);
               
            // Define the event listener.
            public function processData(event:DataGridEvent):void {
                // Check the reason for the event.
                if (event.reason == DataGridEventReason.CANCELLED){
                    // Do not update cell.
                    return;
                }          

                if(event.dataField == "City and State")
                {
                    // Disable copying data back to the control.
                    event.preventDefault();

                    // Get new city from editor.
                    myGrid.editedItemRenderer.data.City = CityStateEditor(DataGrid(event.target).itemEditorInstance).setCity.text;

                    // Get new state from editor.
                    myGrid.editedItemRenderer.data.State = CityStateEditor(DataGrid(event.target).itemEditorInstance).pickState.selectedItem;

                    // Close the cell editor.
                    myGrid.destroyItemEditor();

                    // Notify the list control to update its display.
                    myGrid.dataProvider.itemUpdated(event.itemRenderer.data);
                }
            }          
        ]]>
    </mx:Script>
   
    <mx:DataGrid id="myGrid"
        rowHeight="75"
        dataProvider="{initDG}"
        editable="true"
        itemEditEnd="processData(event);"> 
        <mx:columns>
            <mx:DataGridColumn dataField="Company" editable="false"/>
            <mx:DataGridColumn dataField="Contact"/>
            <mx:DataGridColumn dataField="Phone"/>
            <mx:DataGridColumn dataField="City and State" width="150"
                    itemEditor="myComponents.CityStateEditor">
                <mx:itemRenderer>
                    <mx:Component>
                        <mx:Text selectable="false" width="100%"
                            text="{data.City}, {data.State}"/>
                    </mx:Component>
                </mx:itemRenderer>
            </mx:DataGridColumn>
        </mx:columns>      
    </mx:DataGrid>     
</mx:Application>

分享到:
评论

相关推荐

    Flex itemEditor详解

    ### Flex中的ItemEditor详解 #### 一、引言 ...在接下来的文章中,我们将继续探讨更多关于`itemEditor`的高级主题,包括复杂的编辑逻辑、验证机制以及如何利用`itemRenderer`作为`itemEditor`等。

    FLEX中DATAgird的学习

    要实现这一功能,需要设置 `editorDataField`、`itemEditor` 和 `itemRenderer` 三个关键属性。 `editorDataField` 属性定义了项目编辑器中包含新数据的属性名。默认情况下,如果 `itemEditor` 是 `TextInput`,...

    item-editor:用于编辑OTB项目文件的编辑器

    OTItemEditor 是一个用于编辑 OpenTibia 服务器和工具使用的 OTB 数据文件的程序,用于将客户端使用的项目 ID 映射到服务器和工具使用的一组一致的 ID。 这是必要的,因为 CIPSoft 会在每个主要版本发布时更改...

    D2 1.10物品修改器.rar

    "D2 1.10物品修改器.rar" 是针对该游戏1.10版本的一个物品修改工具,主要用于调整游戏中角色的装备、道具等资源,以提升游戏体验或进行测试。 在《暗黑破坏神2》中,物品是游戏的核心元素之一,包括武器、防具、...

    flex3的cookbook书籍完整版dpf(包含目录)

    将TextInput绑定一个值 4.3节. 创建一个具有文字提示的文本输入框 4.4节. 创建一个合适的编辑器 4.5节. 确定用户电脑上安装的所有字体 4.6节. 创建一个自定义的TextInput 4.7节. 为一段文本设置风格属性 4.8节.在...

    一个纯粹的Python库存管理系统源码.zip

    这个压缩包文件“一个纯粹的Python库存管理系统源码.zip”包含了一个完整的Python库存管理系统的源代码。通过解压,我们可以看到一系列的Python脚本文件,这些文件分别承担着不同的功能,构建了一个完整的系统架构。...

    Flex教程DataGrid归类.pdf

    - Flex是一种基于标准的开发技术,用于构建具有表现力的Web应用程序,这些应用程序可以部署在多个浏览器、平台和设备上。 - MXML是Flex应用程序中用于创建用户界面的一种标记语言,它类似于HTML,但专为富互联网...

    qwt examples

    这些内容涉及了数据可视化、用户界面交互、系统监控等多个方面,显示了qwt库在不同应用领域的广泛适用性。通过这些控件和图表类型,用户可以轻松地在应用程序中实现数据的可视化展示,同时提供用户交互功能。 例如...

    flex datagril 控件源码

    Flex DataGrid控件是Adobe Flex框架中的一个核心组件,用于展示和操作大量数据。它提供了一种高效且灵活的方式来显示表格形式的数据,并支持多种交互功能,如排序、筛选、分页以及对数据进行增删改查操作。在这个...

    Flex Datagrid checkbox实现

    Flex Datagrid 是Adobe Flex框架中用于展示数据集的组件,它允许开发者以表格形式展示数据,并提供多种交互功能。...如果你有更多关于Flex或这个特定实现的问题,可以通过邮件llaysz@163.com与作者交流。

    Flex教程之DataGrid用法

    在Flex开发中,`DataGrid`是一个非常重要的UI组件,它能够以表格形式展示数据集合,支持数据的排序、筛选等功能。本文将详细介绍Flex中`DataGrid`控件的使用方法,包括通过MXML与ActionScript的不同实现方式,并给出...

    库房管理系统,使用python+pyqt5开发.zip

    5. itemEditor.py:物品编辑器模块,可能用于添加、修改和删除库存物品的信息,是库房管理的核心功能之一。 6. typeManager.py:类型管理器模块,可能用于管理库存物品的类别,方便按照类别进行统计和查询。 7. ...

    Flex DataGrid组件 使用详解

    它具有丰富的功能和灵活性,常用于企业级应用中显示多属性对象的列表。DataGrid组件不仅支持基本的表格布局,还提供了排序、编辑、自定义列头、滚动、以及单元格嵌入组件等多种高级特性。 DataGrid组件的核心特点...

    flex datagrid

    它以表格形式呈现,非常适合用来显示多列数据,并提供了排序、选择、编辑等多种功能。在这个教程中,我们将深入探讨 DataGrid 的基本使用和一些关键特性。 1. 建立 DataGrid - MXML 方式:在 MXML 文件中,你可以...

    Flex动态生成可编辑的DataGrid具体实现代码

    例如,Combobox在使用ItemRenderer时无法直接绑定数据值,这需要使用ItemEditor来实现。不过,当需要在运行时获得已经渲染的组件实例时,常规方法可能无法直接获取到这个对象。通过不懈的努力和搜索,开发者找到了...

Global site tag (gtag.js) - Google Analytics