来源: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. DBCP连接池配置示例

    <bean id="dataSourceOracle2" class="org.apache.commons.dbcp.BasicDataSource" ...

  2. JavaBean的用法

    JavaBean是一个可重复使用的软件组件,是用Java语言编写的.遵循一定标准的类. JavaBean是Java Web的重要组件,它封装了数据和操作的功能类,供JSP和Servlet调用,完成数据 ...

  3. ACID属性区别

    事务是指对系统进行的一组操作,为了保证系统的完整性,事务需要具有ACID特性,具体如下: 1. 原子性(Atomic)     一个事务包含多个操作,这些操作要么全部执行,要么全都不执行.实现事务的原 ...

  4. 编译器--__attribute__ ((packed))

    1. __attribute__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法.这个功能是跟操作系统没关系,跟编译器有关,g ...

  5. mysql主从

    1       系统规划 1.1     mysql版本 Mysql版本 mysql-5.5.51 1.2     服务器地址 服务器地址 10.180.2.167 1.3     mysql目录 主 ...

  6. ES6扫盲

    原文阅读请点击此处 一.let和const { // let声明的变量只在let命令所在的代码块内有效 let a = 1; var b = 2; } console.log(a); // 报错: R ...

  7. 111. for(元素变量x:遍历对象obj)

    package com.chongrui.test;/* * for(元素变量x:遍历对象obj){ * 引用X的java语句 *  * } *  *  * */public class test { ...

  8. Ajax:一种网页开发技术(Asynchronous Javascript + XML)

    创建新的 XMLHttpRequest 对象(Ajax 应用程序的核心): <script language="javascript" type="text/jav ...

  9. 自定义RatingBar的一个问题(只显示显示一个星星)

    问题一: 在自定义RatingBar时在设置了numStars属性后只显示一张图(一个星星) 解答: 注意准备的替换图片千万不要使用.9PNG格式的图片,要不之后显示一张图(一个星星)! 问题二: 设 ...

  10. [NHibernate]查看NHibernate生成的SQL语句

    最近接触到一个用Spring.Net结合NHIbernate的项目,第一次使用,有很多配置,数据操作一旦出问题,很难找到原因,那么如何查看NHibernate发送给数据库的SQL语句呢? 当然我们可以 ...