来源: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. 在Oracle中恢复被DROP掉的表

    在Oracle中可能不小心会DROP掉一个表,如果没有定期做备份的话,将会带来很大的麻烦.如果有的情况下,每天的数据都很重要,而定期备份的周期又稍长,情况恐怕也不容乐观!以前只知道Windows有个回 ...

  2. 用遗传算法GA改进CloudSim自带的资源调度策略

    首先理解云计算里,资源调度的含义: 看了很多云计算资源调度和任务调度方面的论文,发现很多情况下这两者的意义是相同的,不知道这两者是同一件事的不同表述还是我没分清吧,任务调度或者资源调度大概就是讲这样一 ...

  3. ACM/ICPC 之 三维计算几何+暴力枚举+判重(HDU5839)

    CCPC网赛第八题,求立体几何数量,题解见注释 //立体几何-求满足要求的四面体个数 //要求1:至少4条边相等 //要求2:四条边相等时,另两条边一定不相邻(即对边) //题解:以当前边为不相邻的其 ...

  4. 「LeetCode」全部题解

    花了将近 20 多天的业余时间,把 LeetCode 上面的题目做完了,毕竟还是针对面试的题目,代码量都不是特别大,难度和 OJ 上面也差了一大截. 关于二叉树和链表方面考察变成基本功的题目特别多,其 ...

  5. CodeIgniter 3 源码学习笔记《一》

    CodeIgniter 是一套给 PHP 网站开发者使用的应用程序开发框架和工具包. 它的目标是让你能够更快速的开发,它提供了日常任务中所需的大量类库, 以及简单的接口和逻辑结构.通过减少代码量,Co ...

  6. [转载] Java CheckBoxTree

    代码基本上是copy的.只是在使用上有一些自己的想法. 先上code吧! 虽然别的地方也有.但是还是转一份给自己. 出处:http://blog.csdn.net/joy_125/article/de ...

  7. WebServices复习

  8. vue2.0 组件之间的数据传递

    组件间的数据传递// 父组件<template><div class="order"><dialog-addpro v-on:closedialog= ...

  9. jquery 替换文本内容

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  10. android UI控件小记

    1.关于text和drawableTop之类的间距 android:drawablePadding="10dp" 2.EditText属性 android:phoneNumber= ...