代码如下:

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" verticalAlign="top" applicationComplete="init()">

    <mx:Script>

        <!--[CDATA[

            import mx.events.ItemClickEvent;

            import mx.collections.ArrayCollection;

            import mx.controls.Alert;

            [Bindable]

            public    var dataColl:ArrayCollection=new ArrayCollection();

            //ID编号

            var k=1;

            //联系人对象

            var userobj:Object;

            //性别默认状态

            var sexobj:String="男";

            //右键删除菜单

            var menucont:ContextMenu;

            //初始化行数

            var p:int=0;

            public function init():void{

                menucont=new ContextMenu();

                addMenuItems();

            }

            //添加右键菜单项

            public function addMenuItems():void{

                var item:ContextMenuItem = new ContextMenuItem("删除");

        menucont.customItems.push(item);

        item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemHandler);

        menucont.hideBuiltInItems();

userdata.contextMenu = menucont;

            }

            //菜单右键事件处理

            public function menuItemHandler(event:ContextMenuEvent):void{

                var CaptionString:String=event.target.caption;

                if(CaptionString=="删除"){

             //确定鼠标所在行数

                var findex:Number = Math.floor(userdata.contentMouseY/userdata.rowHeight)-1 + userdata.verticalScrollPosition;

             if (findex<0 || findex>=userdata.verticalScrollPosition+userdata.rowCount-1) //行号小于0时和大于datagrid行总数时的 错误处理

             {

                 Alert.show("请选择要删除的行","提示");

             } else {

                 p=findex;

                 dataColl.removeItemAt(p);

         Alert.show("删除成功","提示");

             }

                }

            }

            public function checkuser(event:MouseEvent):void{

                var gname=uname.text;

                var gphone=uphone.text;

                if(gname!="" && gphone!=""){

                    dataprovider();

                }else{

                    Alert.show("请输入用户名或电话号码","提示");

                }

            }

            //单选按钮触发事件

            public function changsex(event:ItemClickEvent):void{

                if(event.currentTarget.selectedValue=="f"){

                    sexobj= "女";

                }else{

                    sexobj= "男";

                }

            }

            //重置

            public function resetvalue(event:MouseEvent):void{

                uname.text="";

                uphone.text="";

                male.selected=true;

            }

            //创建联系人信息

            public function dataprovider():Object{

                    userobj=new Object();

                    userobj["uid"]=k;

                    userobj["uname"]=uname.text;

                    userobj["uphone"]=uphone.text;

                    userobj["usex"]=sexobj;

                    dataColl.addItem(userobj);

                    k++;

                    return userobj;

            }

        ]]-->

    </mx:Script>

    <mx:Form>

        <mx:Text text="联系簿" fontWeight="bold" fontSize="14" textAlign="center" width="233" color="#1B78C6"/>

        <mx:FormItem label="姓名" fontSize="12" fontWeight="bold" horizontalAlign="left">

            <mx:TextInput id="uname"/>

        </mx:FormItem>

            <mx:RadioButtonGroup id="sexgroup" itemClick="changsex(event)"/>

            <mx:FormItem label="性别" horizontalAlign="center" fontSize="12" fontWeight="bold">

            <mx:HBox>

            <mx:RadioButton id="male" label="男性" groupName="sexgroup" selected="true" value="m"/>

            <mx:RadioButton id="female" label="女性" groupName="sexgroup" value="f"/>

            </mx:HBox>

        </mx:FormItem>

        <mx:FormItem label="电话号码" fontWeight="bold" fontSize="12" horizontalAlign="center">

        <mx:TextInput id="uphone"/>

        </mx:FormItem>

        <mx:HBox width="232" height="35" verticalAlign="middle" horizontalAlign="center">

            <mx:Button id="go" label="添加" fontSize="12" fontWeight="normal" click="checkuser(event)" textAlign="center" height="30" width="60"/>

            <mx:Button id="reset" label="重置" fontWeight="normal" fontSize="12" height="30" width="60" click="resetvalue(event)"/>

        </mx:HBox>

    </mx:Form>

    <mx:DataGrid dataProvider="{dataColl}" width="400" id="userdata"

        fontSize="12" borderStyle="inset" fontWeight="bold" textAlign="center" alternatingItemColors="[#F1B6B6, #F2EB37]" height="210" editable="true">

        <mx:columns>

            <mx:DataGridColumn headerText="ID" dataField="uid"/>

            <mx:DataGridColumn headerText="联系人" dataField="uname"/>

            <mx:DataGridColumn headerText="性别" dataField="usex"/>

            <mx:DataGridColumn headerText="电话号码" dataField="uphone"/>

        </mx:columns>

    </mx:DataGrid>

</mx:Application>

北京动点软件长年承接FLEX、FLASH、AS、Android外包。

QQ:372900288

电话:13911652504

邮箱:SLTeam@vip.qq.com

更多案例欢迎联系咨询。
我们将为您公司提供免费的项目评估。

FLEX外包团队:Flex例子DEMO源码的更多相关文章

  1. Go Mobile 例子 basic 源码分析

    OpenGL ES(OpenGL for Embedded Systems)是 OpenGL 三维图形API的子集,针对手机.PDA和游戏主机等嵌入式设备而设计.该API由Khronos集团定义推广, ...

  2. 如何在Exe和BPL插件中实现公共变量共享及窗口溶入技术Demo源码

    如何在Exe和BPL插件中实现公共变量共享及窗口溶入技术Demo源码 1.Delphi编译方式介绍: 当我们在开发一个常规应用程序时,Delphi可以让我们用两种方式使用VCL,一种是把VCL中的申明 ...

  3. [c#]asp.net开发微信公众平台(7)前6篇的整体框架demo源码

    这里给出的demo是具备整体框架的微信公众平台源码, 所谓demo就是拿过去就可以直接演示使用的东西,  当然不会具备非常详细的具体到业务层面.数据层面的东西, 每个人都可以在此基础上自由发挥,  只 ...

  4. Asp.net MVC集成Google Calendar API(附Demo源码)

    Asp.net MVC集成Google Calendar API(附Demo源码) Google Calendar是非常方便的日程管理应用,很多人都非常熟悉.Google的应用在国内不稳定,但是在国外 ...

  5. 实现简单的手写涂鸦板(demo源码)

    在一些软件系统中,需要用到手写涂鸦的功能,然后可以将涂鸦的结果保存为图片,并可以将"真迹"通过网络发送给对方.这种手写涂鸦功能是如何实现的了?最直接的,我们可以使用Windows提 ...

  6. 实现类似QQ自拍头像的功能(demo源码)

    在很多软件系统中,都允许用户设置自己的头像,甚至可以直接使用摄像头照相作为自己的头像,就像QQ的自拍头像功能一样. 这种功能是如何实现的了?最直接的,我们可以使用Windows提供的VFW技术或Dir ...

  7. 近期热门微信小程序demo源码下载汇总

    近期微信小程序demo源码下载汇总,乃小程序学习分析必备素材!点击标题即可下载: 即速应用首发!原创!电商商场Demo 优质微信小程序推荐 -秀人美女图 图片下载.滑动翻页 微信小程序 - 新词 GE ...

  8. winserver的consul部署实践与.net core客户端使用(附demo源码)

    winserver的consul部署实践与.net core客户端使用(附demo源码)   前言 随着微服务兴起,服务的管理显得极其重要.都知道微服务就是”拆“,把臃肿的单块应用,拆分成多个轻量级的 ...

  9. (原)阅读Android-Camera2Video的demo源码和调试心得

    转载请注明出处:http://www.cnblogs.com/lihaiping/p/6142512.html   最近因为项目需要使用到camera的功能,所以针对官方的demo源码进行一番阅读,并 ...

随机推荐

  1. height:100%

    子元素的高度设置为height:100%时 继承父元素的高度为border+height 子元素的高度为height: 此时父元素的 box-sizing:content-box: border-bo ...

  2. Cardinal and Ordinal Numbers

    Cardinal Numbers Table of Cardinal Numbers Cardinal numbers from 1 through 1,000,000 1 one 11 eleven ...

  3. Eclipse 02: 安装SVN插件

    1.下载最新的Eclipse,我的版本是3.7.2 indigo(Eclipse IDE for Java EE Developers)版    如果没有安装的请到这里下载安装:http://ecli ...

  4. js多选下拉框

    1.js原生实现 1.1:引用JS文件 /*! jQuery v1.12.4 | (c) jQuery Foundation | jquery.org/license */ !function(a,b ...

  5. 删除64位ODBC数据源DNS

    1.按照打开管理工具-打开数据源(ODBC),进入如下界面,选择用户DSN删除,发现报错一直删除不了. 2.成功删除:进入如下图路径,打开ODBC数据源管理工具,选择要删除的DSN就可以成功删除啦.

  6. Windows 10 家庭版/专业版 彻底关闭windows update自动更新

    转载: https://blog.csdn.net/u014162133/article/details/84973426# https://blog.csdn.net/qq_40820862/art ...

  7. iptables 分析(二)

    原文:http://blog.chinaunix.net/uid-24207747-id-2622901.html do_command()函数分析 //负责整个用户输入的命令处理 int do_co ...

  8. 浅尝 Vue 中的 computed 属性 与 watch

    对于 computed 的理解: ①.computed 用来监控自己定义的变量,该变量不在 data 里面声明,直接在 computed里面定义,然后就可以在页面上进行双向数据绑定展示出结果或者用作其 ...

  9. Cocoa 框架 For iOS(一) 框架的介绍,Objectivie-C运行时能力的解析等 (转载)

    http://blog.csdn.net/totogo2010/article/details/8081253 Cocoa框架是iOS应用程序的基础,了解Cocoa框架,对开发iOS应用有很大的帮助. ...

  10. 软件加密工具-Virbox 开发者工具盒

    功能 Virbox 开发者工具盒是由深思数盾研发的一套软件加密工具,将加壳工具.API文档及操作流程文档等集成在一起,方便软件开发者使用. 您可以通过 Virbox 开发者工具盒实现: dll.exe ...