Flex 使用filter过滤数据

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
					  xmlns:s="library://ns.adobe.com/flex/spark" 
					  xmlns:mx="library://ns.adobe.com/flex/mx"
					  applicationComplete="init()">
	<fx:Script>
		<![CDATA[ 
		import mx.collections.ArrayCollection; 
		import mx.events.CloseEvent; 
		public var temp:String=""; 
		[Bindable]
			private var filteredArr:Array; 
		[Bindable]
			private var plistArr:Array; 
		[Bindable]  
		public var users:Array =
			[{id:1,name:"赵一", dept:"一年级"},
			{id:2,name:"钱二", dept:"一年级"},
			{id:3,name:"孙三", dept:"二年级"},
			{id:4,name:"李四", dept:"一年级"},
			{id:3,name:"周五", dept:"二年级"},
			{id:3,name:"吴六", dept:"三年级"},
			{id:3,name:"郑七", dept:"三年级"},]; 
		
		private function init():void{ 
		filteredArr = users.filter(removedDuplicates);
		temp=combox.selectedItem.toString(); 
		plistArr=users.filter(conditionFunction); 
		} 
		private var keys:Object = {}; 
		private function removedDuplicates(item:Object, idx:uint, arr:Array):Boolean { 
		if (keys.hasOwnProperty(item.dept)) { 
		return false; 
		} else { 
		keys[item.dept] = item; 
		return true; 
		} 
		} 
		private function closeHandler(event:Event):void { 
		temp=String(ComboBox(event.target).selectedItem.dept); 
		plistArr=users.filter(conditionFunction); 
		} 
		
		private function conditionFunction(item:Object, idx:uint, arr:Array):Boolean { 
		if (item.dept==temp){ 
		return true ;  
		}else{ 
		return false; 
		} 
		}
		]]> 
	</fx:Script> 
	<mx:Form width="293" height="152" horizontalCenter="0" verticalCenter="0" borderStyle="solid"> 
		<mx:FormItem label="学年:" width="250"> 
			<mx:ComboBox id="combox" close="closeHandler(event);" labelField="dept" dataProvider="{filteredArr}" selectedIndex="0" width="100%">
			</mx:ComboBox> 
		</mx:FormItem> 
		<mx:FormItem width="250"> 
			<mx:Repeater id="checkBoxRepeater" dataProvider="{plistArr}">
				<mx:CheckBox id="checkBox" label="{checkBoxRepeater.currentItem.name}"/>  
			</mx:Repeater>
			
		</mx:FormItem> 
		
	</mx:Form> 
</s:WindowedApplication>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值