flex datagrid拖拽不一樣類型數據過濾

數據源表格有2中類型的數據,須要拖入相對於類型的表格。java

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" minWidth="955" minHeight="800" creationComplete="init();">
	<mx:Script>
		<!--[CDATA[
			import mx.collections.ArrayCollection;
			import mx.controls.Alert;
			import mx.events.DragEvent;
			//初始化數據
			private function init():void{
				var personArrayList:ArrayCollection = new ArrayCollection();
				
				
				var infoData1:Object={personid:'1', name:'張三', tel:'13002300326',type:"person"};
				var infoData2:Object={personid:'2', name:'王五', tel:'13663236985',type:"person"};
				var infoData3:Object={personid:'3', name:'渝A5698', tel:'13654698546',type:"car"};
				var infoData4:Object={personid:'4', name:'李四', tel:'13256985456',type:"person"};
				var infoData5:Object={personid:'5', name:'渝A2698', tel:'13256985456',type:"car"};
				personArrayList.addItem(infoData1);
				personArrayList.addItem(infoData2);
				personArrayList.addItem(infoData3);
				personArrayList.addItem(infoData4);
				personArrayList.addItem(infoData5);
				personList.dataProvider = personArrayList;
			}
			
			[Bindable]
			private var personlist:ArrayCollection = new ArrayCollection();
			[Bindable]
			private var carlist:ArrayCollection  = new ArrayCollection();	
			//添加類型爲人員的到表格
			protected function addPersonList_dragDropHandler(event:DragEvent):void
			{
				var array:Array = event.dragSource.dataForFormat("items") as Array;
				for each(var infodata:Object in array){
					//若是拖拽對象的type爲車輛就不容許添加到表格
					if(infodata.type == 'car'){
						event.preventDefault();
					}
				}
			}
			//添加類型爲車輛的到表格
			protected function addCarList_dragDropHandler(event:DragEvent):void
			{
				var array:Array = event.dragSource.dataForFormat("items") as Array;
				for each(var infodata:Object in array){
					//若是拖拽對象的type爲人員就不容許添加到表格
					if(infodata.type == 'person'){						
						event.preventDefault();
					}
				}
			}
		]]-->
	</mx:Script>
	
	<mx:VBox x="22" y="10" width="100%" height="100%">
		<!--數據源表格-->
		<mx:DataGrid width="500" height="200" id="personList" fontSize="14" dragEnabled="true" dropEnabled="true">
			<mx:columns>
				<mx:DataGridColumn headerText="personid" dataField="personid"/>
				<mx:DataGridColumn headerText="姓名" dataField="name"/>
				<mx:DataGridColumn headerText="電話" dataField="tel"/>
				<mx:DataGridColumn headerText="類型" dataField="type"/>
				<mx:DataGridColumn headerText="操做" dataField="op"/>
			</mx:columns>
		</mx:DataGrid>
		<!--人員表格-->
		<mx:DataGrid width="500" height="200" id="addPersonList" dataProvider="{personlist}" dragDrop="addPersonList_dragDropHandler(event)" fontSize="14" dragMoveEnabled="true" dragEnabled="true" dropEnabled="true">
			<mx:columns>
				<mx:DataGridColumn headerText="personid" dataField="personid" />
				<mx:DataGridColumn headerText="姓名" dataField="name"/>
				<mx:DataGridColumn headerText="電話" dataField="tel"/>
				<mx:DataGridColumn headerText="類型" dataField="type"/>
				<mx:DataGridColumn headerText="操做" dataField="op"/>
			</mx:columns>
		</mx:DataGrid>
		<!--車輛表格-->
		<mx:DataGrid width="500" height="200" id="addCarList" dataProvider="{carlist}" dragDrop="addCarList_dragDropHandler(event)" fontSize="14" dragMoveEnabled="true" dragEnabled="true" dropEnabled="true">
			<mx:columns>
				<mx:DataGridColumn headerText="personid" dataField="personid"/>
				<mx:DataGridColumn headerText="車輛名稱" dataField="name"/>
				<mx:DataGridColumn headerText="電話" dataField="tel"/>
				<mx:DataGridColumn headerText="類型" dataField="type"/>
				<mx:DataGridColumn headerText="操做" dataField="op"/>
			</mx:columns>
		</mx:DataGrid>
	</mx:VBox>
	
</mx:Application>
 
相關文章
相關標籤/搜索