代码如下:

<?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. react引入方式

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. python语法_input

    input:与用户的交互,返回用户输入的值 注意:input接受的所有数据都为字符串,即便输入的为数字,依然会被当成字符串

  3. Gym 102056I - Misunderstood … Missing - [DP][The 2018 ICPC Asia-East Continent Final Problem I]

    题目链接:https://codeforces.com/gym/102056/problem/I Warm sunshine, cool wind and a fine day, while the ...

  4. linux安装jdk mysql

    mysql 安装进入到mysql官网 点击archives 选择版本下载tar linux 安装mysql数据库——tar.gz包解压安装法 mysql数据库有多种安装方式,本文只介绍在Linux服务 ...

  5. 前端模板 artTemplate之辅助方法template.helper

    var labelMap = { onlinePayment:{ label:"在线支付", desc:"支持大部分储蓄卡.信用卡及第三方平台支付", name ...

  6. Mac快捷键大全及cheatsheet插件

    常用快捷键 CheatSheet 在微信上看到一篇文章分享了一款小软件,觉得有必要推荐一下.名叫CheatSheet.如果你想知道某程序的所有快捷键,只需在Mac上安装CheatSheet,然后长按住 ...

  7. python框架之Django(14)-rest_framework模块

    APIView django原生View post请求 from django.shortcuts import render, HttpResponse from django import vie ...

  8. 小程序 showModal content换行

    wx.showModal({ title: '提示', content: '1.该拼团仅支持到指定取货地址自提\r\n2.拼团支付价格为拼团原价,当到达指定阶梯,拼团差价将在3个工作日内退回您的微信账 ...

  9. 复习-css边框和背景属性

    css边框和背景属性 border:所有边框属性 border-width:四条边框的宽度 border-style:设置边框样式,主要有dotted.solid.double border-colo ...

  10. 谷歌浏览器怎样把网页全部内容保存为.mhtml文件?

    Chrome保存.mhtml网页文件的方法: 在 Chrome 地址栏中键入chrome://flags,回车, 在页面搜索栏输入mhtml 把“Save Page as MHTML”项修改为 Ena ...