zoukankan      html  css  js  c++  java
  • Flex DataGrid可编辑对象实现Enter跳转

    来源: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>

  • 相关阅读:
    题目
    先贤祠3
    先贤祠2
    先贤祠1
    论文他引次数及ESI高被引论文查询方法
    [唐诗]古风(其三十一)-李白
    [唐诗]古风(其二十四)-李白
    [唐诗]古风(其十九)-李白
    [唐诗]古风(其十五)-李白
    [唐诗]古风(其三)-李白
  • 原文地址:https://www.cnblogs.com/6303c/p/3139496.html
Copyright © 2011-2022 走看看