来源: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. python之路十二

    本节内容 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 创建数据库 外键 增删改查表 权限 事务 索引 python 操作mysql ORM sql ...

  2. Solr使用入门指南

    本文转自http://chuanliang2007.spaces.live.com/blog/cns!E5B7AB2851A4C9D2!499.entry?wa=wsignin1.0 由于搜索引擎功能 ...

  3. 《转载》跟我学spring3

    一.<跟我学spring3>电子书下载地址: <跟我学spring3>  (1-7 和 8-13) http://jinnianshilongnian.iteye.com/bl ...

  4. 浅谈HTTP中Get与Post的区别

    引用自:http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET ...

  5. 配置VMware虚拟机用绕过校园网达到无线上网配置方法

    因为平时要用到Vmware这样的工具上虚拟机上网, 但是本人是学生狗,学生狗在学校就要面对大学毒瘤软件--锐捷,而锐捷是不允许有虚拟网卡的存在的,所以上网只能用wifi上.之前试了很久,反正是怎么开都 ...

  6. MYsql 数据库密码忘记(Window)

    之前想在自己的机器上搭建一个数据库,但是又怕占用内存太大,因此特地从网上下载了一个绿色版,免安装版本的,开始用着 还可以,后来重启机器发现悲催了,数据库用不了了, 决心好好整整Mysql 我的是 版本 ...

  7. 限制textarea的字数(包括复制粘贴)

    <textarea cols="100%" rows="10" id="tuconent" placeholder="评价( ...

  8. Ubuntu 14.04 更换阿里云源[转]

    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #备份 sudo vim /etc/apt/sources.list #修改 sudo ...

  9. LeetCode 206 Reverse a singly linked list.

    Reverse a singly linked list. Hint: A linked list can be reversed either iteratively or recursively. ...

  10. python os.walk()

    os.walk()返回三个参数:os.walk(dirpath,dirnames,filenames) for dirpath,dirnames,filenames in os.walk(): 返回d ...