来源: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. Django模板与Vue.js冲突问题

    参考: https://my.oschina.net/soarwilldo/blog/755984 方法1:修改vue.js的默认的绑定符号 Vue.config.delimiters = [&quo ...

  2. ZOJ 3871 Convex Hull(计算几何、凸包)

    题意:给n个点,|x[i]|,|y[i]| <= 1e9.求在所有情况下的子集下(子集点数>=3),凸包的面积和. 这题主要有几个方面,一个是凸包的面积,可以直接用线段的有向面积和求得,这 ...

  3. php阳历转农历的类 谷歌到的

    <?phpclass Lunar {    var $MIN_YEAR = 1891;    var $MAX_YEAR = 2100;    var $lunarInfo = array(   ...

  4. wpf 悬浮窗口的实现

    又到了写点东西的时候,因为有了新的收获,所以用随笔来记录下自己的成长.话不多说,正入主题. 最近又遇到一个新的需求,有一组控件,需要悬浮显示在面板的边缘上,刚开始的时候,是不显示的,点击后显示,然后再 ...

  5. H5+ 移动app学习之二 Native.js

    Native.js技术,简称NJS,是一种将手机操作系统的原生对象转义,映射为JS对象,在JS里编写原生代码的技术.如果说Node.js把js扩展到服务器世界,那么Native.js则把js扩展到手机 ...

  6. /usr/bin/ld.bfd.real: cannot find -lGL /usr/bin/ld.bfd.real: cannot find -lX11

    /usr/bin/ld.bfd.real: cannot find -lGL /usr/bin/ld.bfd.real: cannot find -lX11 根据网上大多数的说法,以及官网的介绍.截至 ...

  7. DeepLearning——CNN

    工具箱下载 https://github.com/rasmusbergpalm/DeepLearnToolbox CNN_demo代码解析 http://blog.csdn.net/zouxy09/a ...

  8. UWP 判断windows mobile是使用的实体键还是虚拟按键

    最近在写启动屏幕,发现虚拟按钮会挡住,启动屏幕的最下面的元素,大概有50 px.可是有什么办法知道手机是用的实体键还是虚拟按键吗? 如下图.可以看到红色的部分显示了一点点.代码里设置的是60px. 在 ...

  9. php.exe php-cgi.exe php-win.exe的区别

    php.exe(linux下是php/bin/php)是提供来在命令行(命令行解释器)执行PHP文件的工具,比如你在有文件abc.php,那么你可以在CMD命令提示符下执行命令php.exe abc. ...

  10. vim 基本使用

    vim 下基本命令 重新加载 .vimrc source ~/.vimrc 列出当前缓冲区的所有文档 ls 然后使用 b+编号 移至该文档 选中多行 v + shift 然后 j k 上下移动 缩进单 ...