Flex 使用ArrayCollection的FilterFunction进行数据过滤
2006-09-18 17:55
856 查看
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" fontFamily="simsun" fontSize="12"
creationComplete="hs.send()">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.rpc.events.*;
import mx.controls.Alert;
private function hsFault(event:FaultEvent):void{
Alert.show(event.message.toString(),"Error");
}
private function hsResult(event:ResultEvent):void{
mydata = event.result.NewDataSet.Table as ArrayCollection;
mydata.filterFunction = NameFilterChanged;
mydata.refresh();
}
public function NameFilterChanged(item:Object):Boolean{
var name:String = item.姓名;
var sno:String = item.学号;
var sex:String = item.性别;
if(cmbSex.selectedItem.data != "全部")
return (sno.indexOf(txtSNO.text,0) >= 0) &&(name.indexOf(txtName.text,0) >= 0) && (cmbSex.selectedItem.data == sex);
else
return (sno.indexOf(txtSNO.text,0) >= 0) &&(name.indexOf(txtName.text,0) >= 0);
}
[Bindable]
private var mydata:ArrayCollection;
]]>
</mx:Script>
<mx:HTTPService id="hs" useProxy="false" url="绿色通道名单.xml" fault="hsFault(event)"
showBusyCursor="true" result="hsResult(event)"/>
<mx:DataGrid dataProvider="{mydata}" right="10" left="9" top="38" bottom="20" >
<mx:columns>
<mx:DataGridColumn headerText="姓名" dataField="姓名"/>
<mx:DataGridColumn headerText="性别" dataField="性别"/>
<mx:DataGridColumn headerText="学号" dataField="学号"/>
<mx:DataGridColumn headerText="准考证号" dataField="准考证号"/>
<mx:DataGridColumn headerText="生源地" dataField="生源地"/>
<mx:DataGridColumn headerText="身份" dataField="身份"/>
<mx:DataGridColumn headerText="户口" dataField="户口"/>
<mx:DataGridColumn headerText="部门" dataField="部门"/>
<mx:DataGridColumn headerText="原因" dataField="原因"/>
<mx:DataGridColumn headerText="财务处是否办理" dataField="财务处是否办理"/>
</mx:columns>
</mx:DataGrid>
<mx:Label x="186" y="12" text="姓名:"/>
<mx:TextInput id="txtName" x="229" y="10" change="{mydata.refresh()}" width="95"/>
<mx:ComboBox x="391" y="10" width="94" id="cmbSex" labelField="title" change="mydata.refresh()">
<mx:dataProvider>
<mx:Array>
<mx:Object title = "全部" data="全部"/>
<mx:Object title = "男" data="男"/>
<mx:Object title = "女" data="女"/>
</mx:Array>
</mx:dataProvider>
</mx:ComboBox>
<mx:Label x="348" y="12" text="性别:"/>
<mx:TextInput x="76" y="10" width="102" id="txtSNO" change="{mydata.refresh()}"/>
<mx:Label x="33" y="12" text="学号:"/>
</mx:Application>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" fontFamily="simsun" fontSize="12"
creationComplete="hs.send()">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.rpc.events.*;
import mx.controls.Alert;
private function hsFault(event:FaultEvent):void{
Alert.show(event.message.toString(),"Error");
}
private function hsResult(event:ResultEvent):void{
mydata = event.result.NewDataSet.Table as ArrayCollection;
mydata.filterFunction = NameFilterChanged;
mydata.refresh();
}
public function NameFilterChanged(item:Object):Boolean{
var name:String = item.姓名;
var sno:String = item.学号;
var sex:String = item.性别;
if(cmbSex.selectedItem.data != "全部")
return (sno.indexOf(txtSNO.text,0) >= 0) &&(name.indexOf(txtName.text,0) >= 0) && (cmbSex.selectedItem.data == sex);
else
return (sno.indexOf(txtSNO.text,0) >= 0) &&(name.indexOf(txtName.text,0) >= 0);
}
[Bindable]
private var mydata:ArrayCollection;
]]>
</mx:Script>
<mx:HTTPService id="hs" useProxy="false" url="绿色通道名单.xml" fault="hsFault(event)"
showBusyCursor="true" result="hsResult(event)"/>
<mx:DataGrid dataProvider="{mydata}" right="10" left="9" top="38" bottom="20" >
<mx:columns>
<mx:DataGridColumn headerText="姓名" dataField="姓名"/>
<mx:DataGridColumn headerText="性别" dataField="性别"/>
<mx:DataGridColumn headerText="学号" dataField="学号"/>
<mx:DataGridColumn headerText="准考证号" dataField="准考证号"/>
<mx:DataGridColumn headerText="生源地" dataField="生源地"/>
<mx:DataGridColumn headerText="身份" dataField="身份"/>
<mx:DataGridColumn headerText="户口" dataField="户口"/>
<mx:DataGridColumn headerText="部门" dataField="部门"/>
<mx:DataGridColumn headerText="原因" dataField="原因"/>
<mx:DataGridColumn headerText="财务处是否办理" dataField="财务处是否办理"/>
</mx:columns>
</mx:DataGrid>
<mx:Label x="186" y="12" text="姓名:"/>
<mx:TextInput id="txtName" x="229" y="10" change="{mydata.refresh()}" width="95"/>
<mx:ComboBox x="391" y="10" width="94" id="cmbSex" labelField="title" change="mydata.refresh()">
<mx:dataProvider>
<mx:Array>
<mx:Object title = "全部" data="全部"/>
<mx:Object title = "男" data="男"/>
<mx:Object title = "女" data="女"/>
</mx:Array>
</mx:dataProvider>
</mx:ComboBox>
<mx:Label x="348" y="12" text="性别:"/>
<mx:TextInput x="76" y="10" width="102" id="txtSNO" change="{mydata.refresh()}"/>
<mx:Label x="33" y="12" text="学号:"/>
</mx:Application>
相关文章推荐
- Flex 使用ArrayCollection的FilterFunction进行数据过滤
- Flex 使用ArrayCollection的FilterFunction进行数据过滤
- Flex 使用ArrayCollection的FilterFunction进行数据过滤
- Flex 使用ArrayCollection的FilterFunction进行数据过滤
- flex datagrid使用arraycollection中的filterFunction属性进行过滤
- Flex使用ArrayCollection的filterFunction属性过滤DataGrid
- PHP中使用Filter进行数据安全过滤
- PHP中使用Filter进行数据安全过滤
- PHP中使用Filter进行数据安全过滤
- 使用java8的lambada表达式按照一定的条件对查出的数据进行过滤
- spark scala 对dataframe进行过滤----filter方法使用
- 机器学习(八)使用sklearn库进行数据分析_——特征处理之过滤、包裹、嵌入型
- SpirngMVC框架下使用filter对字符进行过滤
- 使用filter拦截servlet和jsp页面的内容,进行过滤后输出
- 使用Ettercap filter进行流量监听和数据篡改
- 使用libvirt的networkfilter对网络进行过滤
- 使用Weka进行数据挖掘(Weka教程六)Weka采样Filter/Resample/SMOTE
- 使用jieba进行数据预处理(分词,过滤停用词及标点,获取词频、关键词等)
- JBoss 系列十九:使用JGroups构建块RspFilter对群组通信返回消息进行过滤
- spark scala 对RDD进行过滤----filter使用方法