1. 디자인 아이디어
(1) 새 DataGrid를 만들고 마지막 열에 추가, 수정, 삭제라는 세 개의 버튼을 추가합니다.
(2) 새 버튼인 You를 클릭합니다. 테이블에 새 행을 추가할 수 있습니다.
(3) 테이블에 있는 행의 일부 속성을 수정하려면 "수정" 버튼을 클릭하세요.
(4) "삭제" 버튼을 클릭하세요. 그러면 테이블에서 이 행이 삭제됩니다.
2. 구현 단계
(1) 새 애플리케이션 DataGrid.mxml 만들기
DataGrid.mxml:
<?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="955" minHeight="600"> <s:layout> <s:BasicLayout/> </s:layout> <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> </fx:Declarations> <fx:Script> <![CDATA[ import mx.collections.ArrayCollection; [Bindable] //表格数据源绑定 private var grid:ArrayCollection = new ArrayCollection([ {number:"2014010101",name:"张三",sex:"男",age:"19"}, {number:"2014010102",name:"李思",sex:"女",age:"20"}, {number:"2014010103",name:"蔡华",sex:"男",age:"21"}, {number:"2014010104",name:"牛耳",sex:"女",age:"22"}, {number:"2014010105",name:"兆司",sex:"男",age:"18"}, {number:"2014010106",name:"胡柳",sex:"女",age:"19"}, {number:"2014010107",name:"刘斯",sex:"男",age:"20"}, {number:"2014010108",name:"孙阳",sex:"女",age:"22"}, {number:"2014010109",name:"郑武",sex:"男",age:"21"}, {number:"2014010110",name:"王雪",sex:"女",age:"20"}, {number:"2014010111",name:"胡柳",sex:"女",age:"19"}, {number:"2014010112",name:"刘斯",sex:"男",age:"20"}, {number:"2014010113",name:"孙阳",sex:"女",age:"22"}, {number:"2014010114",name:"郑武",sex:"男",age:"21"}, {number:"2014010115",name:"王雪",sex:"女",age:"20"} ]); ]]> </fx:Script> <mx:VBox width="100%" height="100%" paddingBottom="100" paddingLeft="100" paddingRight="100" paddingTop="100"> <mx:DataGrid id="dataGrid" dataProvider="{grid}" rowCount="{grid.length+1}" width="100%" textAlign="center"> <mx:columns> <mx:DataGridColumn headerText="学号" dataField="number" id="stuNumber"/> <mx:DataGridColumn headerText="姓名" dataField="name"/> <mx:DataGridColumn headerText="性别" dataField="sex"/> <mx:DataGridColumn headerText="年龄" dataField="age"/> <mx:DataGridColumn headerText="操作"> <mx:itemRenderer> <fx:Component> <mx:HBox width="100%" paddingLeft="40"> <fx:Script> <![CDATA[ import mx.managers.PopUpManager; /*添加按钮事件函数*/ protected function addHandler(event:MouseEvent):void { var childWindow:ChildWindow = ChildWindow(PopUpManager.createPopUp(this,ChildWindow,true)); var point:Point = new Point(100,100); childWindow.x = point.x + 400; childWindow.y = point.y + 50; } /*修改按钮事件函数*/ protected function updateHandler(event:MouseEvent):void { var updateWindow:UpdateWindow = UpdateWindow(PopUpManager.createPopUp(this,UpdateWindow,true)); var point:Point = new Point(100,100); updateWindow.x = point.x + 400; updateWindow.y = point.y + 50; updateWindow.stuNo = event.currentTarget.selectedItem.content; } ]]> </fx:Script> <mx:LinkButton label="新增" click="addHandler(event)"/> <s:Label width="10"/> <mx:LinkButton label="修改" click="updateHandler(event)"/> <s:Label width="10"/> <mx:LinkButton label="删除"/> </mx:HBox> </fx:Component> </mx:itemRenderer> </mx:DataGridColumn> </mx:columns> </mx:DataGrid> </mx:VBox> </s:Application>
만들기 새 응용 프로그램 새 창 구성 요소 ChildWindow.mxml
ChildWindow.mxml:
<?xml version="1.0" encoding="utf-8"?> <s:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width="400" height="300" close="closeHandler(event)" title="新增窗口"> <s:layout> <s:BasicLayout/> </s:layout> <fx:Script> <![CDATA[ import mx.events.CloseEvent; import mx.managers.PopUpManager; /*关闭按钮函数*/ protected function closeHandler(event:CloseEvent):void { PopUpManager.removePopUp(this); } /*取消按钮函数*/ protected function cancelHandler(event:MouseEvent):void { PopUpManager.removePopUp(this); } ]]> </fx:Script> <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> </fx:Declarations> <mx:VBox width="100%" height="100%" horizontalAlign="center"> <mx:Form borderStyle="solid" borderColor="#CCCCCC" width="100%"> <mx:FormHeading label="新增界面" fontSize="14"/> <mx:FormItem label="学号:"> <s:TextInput id="stuNo" width="200"/> </mx:FormItem> <mx:FormItem label="姓名:"> <s:TextInput id="stuName" width="200"/> </mx:FormItem> <mx:FormItem label="性别:"> <s:TextInput id="stuSex" width="200"/> </mx:FormItem> <mx:FormItem label="年龄:"> <s:TextInput id="stuAge" width="200"/> </mx:FormItem> </mx:Form> <mx:HBox width="100%" height="25"> <s:Label width="60"/> <s:Button label="新增"/> <s:Label width="48"/> <s:Button label="取消" click="cancelHandler(event)"/> </mx:HBox> </mx:VBox> </s:TitleWindow>
(3) 새 수정 인터페이스 구성 요소 UpdateWindow.mxml
UpdateWindow 만들기 .mxml:
<?xml version="1.0" encoding="utf-8"?> <s:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width="400" height="300" close="closeHandler(event)" title="修改窗口"> <s:layout> <s:BasicLayout/> </s:layout> <fx:Script> <![CDATA[ import mx.events.CloseEvent; import mx.managers.PopUpManager; /*关闭按钮函数*/ protected function closeHandler(event:CloseEvent):void { PopUpManager.removePopUp(this); } /*取消按钮函数*/ protected function cancelHandler(event:MouseEvent):void { PopUpManager.removePopUp(this); } ]]> </fx:Script> <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> </fx:Declarations> <mx:VBox width="100%" height="100%" horizontalAlign="center"> <mx:Form borderStyle="solid" borderColor="#CCCCCC" width="100%"> <mx:FormHeading label="修改界面" fontSize="14"/> <mx:FormItem label="学号:"> <s:TextInput id="stuNo" width="200"/> </mx:FormItem> <mx:FormItem label="姓名:"> <s:TextInput id="stuName" width="200"/> </mx:FormItem> <mx:FormItem label="性别:"> <s:TextInput id="stuSex" width="200"/> </mx:FormItem> <mx:FormItem label="年龄:"> <s:TextInput id="stuAge" width="200"/> </mx:FormItem> </mx:Form> <mx:HBox width="100%" height="25"> <s:Label width="60"/> <s:Button label="修改"/> <s:Label width="48"/> <s:Button label="取消" click="cancelHandler(event)"/> </mx:HBox> </mx:VBox> </s:TitleWindow>
3. 디자인 결과
(1) 초기화 중
TitleWindow 값과 관련된 추가 아이디어 및 구현 Flex로 전송 기사를 보려면 PHP 중국어 웹사이트에 주목하세요!