加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flex通过数据绑定实现信息增删改

发布时间:2020-12-15 03:41:48 所属栏目:百科 来源:网络整理
导读:哈哈 ?xml version="1.0" encoding="utf-8"?s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="600" minHeight="400" creationComplete="initHand

哈哈

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="600" minHeight="400"
			   creationComplete="initHandler(event)"
			   fontFamily="微软雅黑">
	<fx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;
			import mx.controls.Alert;
			import mx.events.FlexEvent;
			[Bindable]//要写在全局变量前面
			private var _stuArr:ArrayCollection=null;
			private var _email:RegExp=new RegExp("^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$");
			private function initHandler(event:FlexEvent):void
			{
	              _stuArr=new ArrayCollection();
				  addBtn.addEventListener(MouseEvent.CLICK,addBtnHandler);
				  deleteBtn.addEventListener(MouseEvent.CLICK,deleteBtnHandler);
				  stuList.addEventListener(FlexEvent.VALUE_COMMIT,valueChangeHandler);
				  updateBtn.addEventListener(MouseEvent.CLICK,updateBtnHandler);
			}
			
			protected function addBtnHandler(event:MouseEvent):void
			{
				  var obj:Object=null;
				  obj={};
				  obj.sName=stuName.text;
				  obj.sAge=stuAge.text;
				  obj.sEmail=stuEmail.text;
				if(stuAge.text!=""&&stuName.text!=""&&stuEmail.text!=""&&_email.test(stuEmail.text))
				{
					_stuArr.addItem(obj);
				}
				else if(!(_email.test(stuEmail.text)))
				{
				Alert.show("请填写正确的邮箱","温馨提示");
				}
				else if(stuName.text==""||stuAge.text==""||stuEmail.text=="")
				{
					Alert.show("亲,前三项都要填","温馨提示");
				}
			}
			private function stuArr(item:Object):String
			{
				var str:String="姓名是:"+item.sName+",和年龄是:"+item.sAge+"以及邮箱是:"+item.sEmail;
				return str;
			}
			
			protected function deleteBtnHandler(event:MouseEvent):void
			{
				if(stuList.selectedItem!=null)
				{
					_stuArr.removeItemAt(stuList.selectedIndex);
				}
				else
				{
					Alert.show("请选择要删除的学生","温馨提示");
				}
			}
			
			protected function valueChangeHandler(event:FlexEvent):void
			{
				if(stuList.selectedItem!=null)
				{
					stuName.text=stuList.selectedItem.sName;
					stuAge.text=stuList.selectedItem.sAge;
					stuEmail.text=stuList.selectedItem.sEmail;
				}
			}
			
			protected function updateBtnHandler(event:MouseEvent):void
			{
				if(stuList.selectedItem!=null)
				{
					var obj1:Object={};
					obj1.sName=stuName.text;
					obj1.sAge=stuAge.text;
					obj1.sEmail=stuEmail.text;
					_stuArr.setItemAt(obj1,stuList.selectedIndex);
				}
				else
				{
					Alert.show("请先在左边选择要修改在学生","温馨提示")
				}
			}
			
		]]>
	</fx:Script>
	<fx:Declarations>
		<!-- 将非可视元素(例如服务、值对象)放在此处 -->
	</fx:Declarations>
	<s:layout>
		<s:HorizontalLayout gap="30" paddingBottom="30" paddingLeft="30" paddingRight="30" paddingTop="30"/>
	</s:layout>
	<s:Panel width="100%" height="100%" title="学生列表">
		<s:List id="stuList" width="100%" height="100%" dataProvider="{_stuArr}" labelFunction="stuArr">
		</s:List>
		<s:controlBarContent>
			<s:Button label="删除学生" id="deleteBtn"/>
		</s:controlBarContent>
	</s:Panel>
	<s:Panel width="100%" height="100%" title="添加学生">
		<s:Form width="100%" height="100%">
			<s:FormItem label="学生姓名:" required="true" width="100%">
				<s:TextInput id="stuName" width="100%"/>
			</s:FormItem>
			<s:FormItem label="学生年龄" required="true" width="100%">
				<s:TextInput id="stuAge" width="100%"/>
			</s:FormItem>
			<s:FormItem label="学生邮箱" required="true" width="100%">
				<s:TextInput id="stuEmail" width="100%"/>
			</s:FormItem>
		</s:Form>
		<s:controlBarContent>
			<s:Button label="添加学生:" id="addBtn"/>
			<s:Button label="修改信息" id="updateBtn"/>
		</s:controlBarContent>
		<s:controlBarLayout>
			<s:HorizontalLayout horizontalAlign="center" gap="50" paddingTop="9" paddingBottom="9"/>
		</s:controlBarLayout>
	</s:Panel>
</s:Application>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读