代码如下:

<?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. Codeforces 1090A - Company Merging - [签到水题][2018-2019 Russia Open High School Programming Contest Problem A]

    题目链接:https://codeforces.com/contest/1090/problem/A A conglomerate consists of n companies. To make m ...

  2. Python爬虫实例(四)网站模拟登陆

    一.获取一个有登录信息的Cookie模拟登陆 下面以人人网为例,首先使用自己的账号和密码在浏览器登录,然后通过抓包拿到cookie,再将cookie放到请求之中发送请求即可,具体代码如下: # -*- ...

  3. odoo配置文件详解

    addons模块的查找路径 addons_path = D:\odoo\Odoo 10.0\server\odoo\addons 超级管理员(用于创建,还原和备份数据库的操作) admin_passw ...

  4. 关于SQL Server将一列的多行内容拼接成一行的问题讨论【转】

    原文链接:https://blog.csdn.net/rolamao/article/details/7745972 比如表中有两列数据 : ep_classes  ep_name AAA       ...

  5. 解决web资源跨域请求问题

    参考地址: http://my.oschina.net/lichaoqiang/blog/317823 在浏览器请求中,出现跨域访问资源的问题,我们肯定会遇到.如果跨域请求被阻止,有可能导致css.j ...

  6. TestFlight 的使用记载

    TestFlight:     TestFlight内测网上很多资料.大概是先打包,然后在App Store Connect 里添加测试员的邮箱地址. Testflight.top:公测要用到test ...

  7. 使用scrapy入门教程

    创建项目 scrapy startprogect demo 创建爬虫 scrapy genspider myDomain madomian.com 直接创建文件也可以 运行爬虫 scrapy craw ...

  8. mybatis plus XML文件如何使用多个where条件

    网上搜到很多例子教你在mybatis plus使用XML文件来查询自定义的sql,但是给的例子都是给的只注解了一个where的例子.我最近在开发的一个项目中,因为涉及到了多表的复杂查询,需要在一个sq ...

  9. 非CI执行Allure2 trends空白问题

    问题描述 未使用CI工具集成Aluure运行测试用例并生成Allure报告,多次执行后,trends是空白的,未展示出期望的趋势图 问题原因非CI工具,是通过命令 allure serve 展示报告 ...

  10. C工程 交互 ceph 分布式存储系统

    网上看到有人问,如何在C项目里调用ceph系统对外提供的API,实现分布式存储. 我在网上搜到了相关信息,但是因为不是会员无法追加答案,故而,贴于此. 赠予有缘人:) ———————————————— ...