来源:http://blog.sina.com.cn/s/blog_5ed17a730100vrja.html

在Flex DataGrid中实现点击Enter键可编辑对象跳转
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" width="100%"
    height="100%" creationComplete="init()">
    <mx:DataGrid id="dg" dataProvider="{ac}" height="232" editable="true">
        <mx:columns>
            <mx:DataGridColumn headerText="姓名" dataField="name"/>
            <mx:DataGridColumn headerText="年龄" dataField="age"/>
        </mx:columns>
    </mx:DataGrid>
    <mx:ArrayCollection id="ac">
        <mx:Object name="111" age="11"/>
        <mx:Object name="222" age="22"/>
        <mx:Object name="333" age="33"/>
        <mx:Object name="444" age="44"/>
        <mx:Object name="555" age="55"/>
        <mx:Object name="666" age="66"/>
    </mx:ArrayCollection>
    <mx:Script>
        <![CDATA[
            import mx.core.EdgeMetrics;
            import mx.events.DataGridEvent;
            import mx.events.ListEvent;
            
            private function init():void {
                addEventListener(KeyboardEvent.KEY_DOWN, enterKHandler);
            }
            
            private function enterKHandler(evt:KeyboardEvent):void {
                if(dg.editedItemPosition == null) {
                    return;
                }
                
                var editpos:Object = dg.editedItemPosition;
                
                if(evt.keyCode == Keyboard.ENTER){
                    if(editpos.rowIndex == dg.dataProvider.length-1) {
                        if(editpos.columnIndex < dg.columnCount-1) {
                            editpos.columnIndex ++;
                            dg.editedItemPosition = editpos;
                        } else if(editpos.columnIndex == dg.columnCount-1) {
                            var obj:Object = {name:"777", age:"7"};
                            ac.addItem(obj);
                            
                            editpos.rowIndex ++;
                            editpos.columnIndex = 0;
                            dg.editedItemPosition = editpos;
                        }
                    } else if(editpos.rowIndex < dg.dataProvider.length-1) {
                        if(editpos.columnIndex < dg.columnCount-1) {
                            editpos.columnIndex ++;
                            dg.editedItemPosition = editpos;
                        } else {
                            editpos.rowIndex ++;
                            editpos.columnIndex = 0;
                            dg.editedItemPosition = editpos;
                        }
                    }
                }
            }
            
        ]]>
    </mx:Script>
</mx:Application>

Flex DataGrid可编辑对象实现Enter跳转的更多相关文章

  1. Flex DataGrid 添加控件

    哈喽,又和大家见面了.今天要写的东西是关于Flex DataGrid添加“编辑”或“删除”按钮. 下面是部分代码: <mx:DataGrid id="dgShow" x=&q ...

  2. EasyUI DataGrid能编辑

    创建DataGrid <table id="tt"></table> $('#tt').datagrid({     title:'Editable Dat ...

  3. datagrid直接编辑保存“设计缺陷”

    当今使用easyUI的datagrid组件的时候,碰到了一些问题,记录下来以便下次高速解决. 需求是在一张表单里会关联有一个列表,能够增删查改 曾经没用easyUI的时候,这个增和改的页面我通常是用一 ...

  4. JAVA-JSP内置对象之response对象实现页面跳转

    相关资料:<21天学通Java Web开发> response对象 实现页面跳转1.可以通过response对象的sendRedirect()方法设置页面重定向,从而实现页面跳转.2.这种 ...

  5. EasyUI效果--DataGrid的编辑效果

    DataGrid的编辑效果是我目前使用的easyUI的第三个效果,相对于前两个,这个算是比较复杂点了.    运行起来的效果,大概就是这样,任意点击某行,然后该行变为可以编辑的,失去焦点之后,该行恢复 ...

  6. easyui datagrid 批量编辑和提交数据

    easyui datagrid 行编辑和提交方,废话就不多说了,直接上代码 <div style="margin: 5px;"> <table id=" ...

  7. easyui分页,编辑datagrid某条数据保存以后跳转到某一页

    参考资料:http://caizhilin2010.iteye.com/blog/1731698 问题:商品列表页面采用easyui的datagrid展示数据,编辑某行数据保存以后,要求跳转到 用户在 ...

  8. SharedObject使用:在FluorineFx.net与Flex中使用共享对象维护在线用户列表实例【转】

    一.添加一个新的FluorineFx的服务类项目OnLineService,删除原有的Sample.cs,并添加一个用户类定义与一个ApplicationAdpater类:如下: /*-- User. ...

  9. [转]easyui datagrid 批量编辑和提交

    web前台主要代码: <script type="text/javascript"> $(function() { var $dg = $("#dg" ...

随机推荐

  1. JAVA基础学习——1.0 Java概述

    Java语言 SUN公司  1995年推出的高级编程语言 ■  主要应用方向 Web开发和Android开发 ■  主要特点 平台无关性:能运行于不同的平台上    安全性:去掉了指针操作,内存由操作 ...

  2. js创建命名空间

    CreateNameSpace: function () { var nameSpaceObjec = arguments[0].split('.'); var currentNameSpaceNam ...

  3. pip install Error - ReadTimeoutError: HTTPSConnectionPool

    pip install Error OSX 终端更新pip出错 sudo pip install --upgrade pip : 1.ReadTimeoutError: HTTPSConnection ...

  4. Android搜索功能的案例,本地保存搜索历史记录......

    开发的APP有一个搜索功能,并且需要显示搜索的历史记录,我闲暇之余帮她开发了这个功能,现把该页面抽取成一个demo分享给大家. 实现效果如图所示:  本案例实现起来很简单,所以可以直接拿来嵌入项目中使 ...

  5. C# DataSet装换为泛型集合

    1.DataSet装换为泛型集合(注意T实体的属性其字段类型与dataset字段类型一一对应) #region DataSet装换为泛型集合 /// <summary> /// 利用反射和 ...

  6. SQL 检查 是否存在 表 临时表

    1.检查临时表是否存在 已有临时表#temp2 if exists(select * from tempdb..sysobjects where id =object_id('tempdb..#tem ...

  7. net-force.nl/steganography writeup

    做CTF题好长一段时间了,真的可以学到很多东西.这次,我们开启 net-force.nl 的 Steganography之旅,所谓的隐写术. level 801: Training - Can you ...

  8. Android 常用代码

    1.单元测试 然而可以直接建立单元测试 <uses-library android:name="android.test.runner"/> 放在application ...

  9. Android 笔记 AutoCompleteTextView day8

    用于自动补全内容 适应器可用于显示多行内容 package com.supermario.autocompletedemo; import android.app.Activity; import a ...

  10. 序言<EntityFramework6.0>

    Entity Framework是微软战略性的数据访问技术,不同与早期访问技术,Entity Framework并不耦合在Visual Studio中,它提供了一个全面的, 基于模型的生态系统,使您能 ...