文档章节

flex datagrid拖拽不同类型数据过滤

endlessBei
 endlessBei
发布于 2014/09/04 10:23
字数 485
阅读 22
收藏 0

数据源表格有2中类型的数据,需要拖入相对于类型的表格。

<?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>
 

© 著作权归作者所有

endlessBei
粉丝 1
博文 35
码字总数 10205
作品 0
渝中
程序员
私信 提问
15 非常有用的 Adobe Flex 教程

Adobe Flex是最初由Macromedia公司在2004年3月发布的,基于其专有的Macromedia Flash平台,它是涵盖了支持RIA(Rich Internet Applications)的开发和部署的一系列技术组合。Flex是开发富互联...

红薯
2011/09/30
11.7K
5
用 flex 布局和 React Hooks 实现一个思维导图

学习 React 时做的练手项目,基于纯 Hooks 和 flex 布局实现的思维导图。 项目地址:RMind,喜欢的话还请点个 star,谢谢啦~ 😉 在线演示:RMind Demo 介绍 Hooks 所有组件都是函数组件,...

Mongkii
05/15
0
0
Flex动态数据绑定问题,求助该怎么实现

flex页面上添加一个DataGrid组件,旁边有增加按钮, 要求:点击增加按钮在DataGrid中增加一行数据,其中每行的每个单元格都是一个ComBox,可以编辑,部分ComBox的数据要通过远程获取。 请问该...

落落的月
2012/03/16
729
1
将 Flex 集成到 Java EE 应用程序的最佳实践

传统的 Java EE 应用程序通常使用某种 MVC 框架(例如,Struts)作为前端用户界面,随着 Flex 的兴起,基于 RIA 的客户端能够给用户带来更酷的界面,更短的响应时间,以及更接近于桌面应用程...

小编辑
2010/01/05
1K
1
集成 Flex, Spring, Hibernate 构建应用程序

RIA(Rich Internet Application)—— 富 Internet 应用以其良好的客户体验得到越来越广泛的应用,银行,电信等领域已有诸多成功案例。Adobe 的 Flex 是最具有代表性的基于 Flash 的 RIA 技...

红薯
2009/12/31
5.2K
7

没有更多内容

加载失败,请刷新页面

加载更多

数组算法

/*数组的相关的算法操作:1、在数组中找最大值/最小值*/class Test11_FindMax{public static void main(String[] args){int[] array = {4,2,6,8,1};//在数组中找最大...

architect刘源源
27分钟前
1
0
okhttp3 以上版本在安卓9.0无法请求数据的解决方案

应用官方的说明:在 Android 6.0 中,我们取消了对 Apache HTTP 客户端的支持。 从 Android 9 开始,默认情况下该内容库已从 bootclasspath 中移除且不可用于应用。且Android P 限制了明文流量...

chenhongjiang
今天
5
0
简单示例:NodeJs连接mysql数据库

开篇引用网上的说法: 简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于...

李朝强
今天
8
0
大数据学习路线

年薪30W大数据学习路线图: 一、Hadoop入门,了解什么是Hadoop 1、Hadoop产生背景 2、Hadoop在大数据、云计算中的位置和关系 3、国内外Hadoop应用案例介绍 4、国内Hadoop的就业情况分析及课程...

陈小君
今天
3
0
解读 Kylin 3.0.0 | 更敏捷、更高效的 OLAP 引擎

在近期的 Apache Kylin Meetup 成都站上,我们邀请到 Kyligence 架构师 & Apache Kylin Committer 倪春恩对 Kylin 3.0.0 版本的一些重要功能及改进从使用到原理进行了介绍: Apache Kylin 在...

ApacheKylin
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部