使用E4X来过滤XML简单示例
2009-11-28 20:33
751 查看
XML数据源如下:
<mx:XMLList id="airports"> <airports> <airport> <city>Atlanta</city> <name>Hartsfield-Jackson Atlanta Int'l</name> <code>ATL</code> <country>USA</country> </airport> <airport> <city>Chicago</city> <name>ATL</name> <code>ORD</code> <country>USA</country> </airport> <airport> <city>London</city> <name>Aloange</name> <code>LHR</code> <country>UK</country> </airport> <airport> <city>Tokyo</city> <name>Angeless</name> <code>HND</code> <country>Japan</country> </airport> <airport> <city>Los Angeles</city> <name>Angeles Int'l</name> <code>LAX</code> <country>USA</country> </airport> <airport> <city>Dallas/Fort Worth</city> <name>Dallas/Ft. Worth Int'l</name> <code>DFW</code> <country>USA</country> </airport> <airport> <city>Paris</city> <name>Angeless</name> <code>CDG</code> <country>France</country> </airport> <airport> <city>Frankfurt/Main</city> <name>Frankfurt International</name> <code>FRA</code> <country>Germany</country> </airport> <airport> <city>Amsterdam</city> <name>Amsterdam-Schiphol</name> <code>AMS</code> <country>Netherlands</country> </airport> <airport> <city>Denver</city> <name>Denver International</name> <code>DEN</code> <country>USA</country> </airport> <airport> <city>Las Vegas</city> <name>McCarran International</name> <code>LAS</code> <country>USA</country> </airport> <airport> <city>Phoenix</city> <name>Sky Harbor Int'l</name> <code>PHX</code> <country>USA</country> </airport> <airport> <city>Madrid</city> <name>Madrid-Barajas (AENA)</name> <code>MAD</code> <country>Spain</country> </airport> <airport> <city>Bangkok</city> <name>Bangkok International</name> <code>BKK</code> <country>Thailand</country> </airport> </airports> </mx:XMLList>
<mx:TitleWindow width="500" height="300" layout="absolute"> <mx:TextInput x="158" y="21" id="txtSource" fontSize="12" enter="enterHander(event)"/> <mx:DataGrid id="dg" x="0" y="51" fontSize="11" dataProvider="{xmlconn}" dragEnabled="true" allowMultipleSelection="true" dragMoveEnabled="true" dropEnabled="true" width="470" creationComplete="loadDG()"> <mx:columns> <mx:DataGridColumn headerText="行号" labelFunction="getIndex"/> <mx:DataGridColumn headerText="City" dataField="city"/> <mx:DataGridColumn headerText="Name" dataField="name"/> <mx:DataGridColumn headerText="Code" dataField="code"/> <mx:DataGridColumn headerText="Country" dataField="country"/> </mx:columns> </mx:DataGrid> <mx:Label x="50" y="23" text="请输入名字:" width="100" fontSize="14"/> </mx:TitleWindow> <mx:Script> <!--[CDATA[ import mx.collections.XMLListCollection; import mx.events.DragEvent; import mx.events.ListEvent; import mx.controls.Alert; [Bindable] var xmlconn:XMLListCollection; /* 获得数据源,并把xmllist转换成 XMLListCollection*/ private function loadDG():void{ xmlconn=new XMLListCollection(); xmlconn.source=airports.airport; } /* 文本框的会车事件 */ private function enterHander(event:Event):void{ if(txtSource.text==""){ xmlconn.filterFunction=null; }else{ xmlconn.filterFunction=filterHandle; } xmlconn.refresh(); } /*过滤XML */ private function filterHandle(item:XML):Boolean{ var searchResult:XMLList; searchResult=item.(name==txtSource.text||code==txtSource.text);//断言 if(searchResult.length()>0){ return true; }else{ return false; } } //获取行号 private function getIndex(item:Object, column:DataGridColumn):String{ return (dg.dataProvider.getItemIndex(item)+1).toString(); } ]]--> </mx:Script>
相关文章推荐
- mybatis简单sql使用java注解而不是xml配置
- PHP 使用memcached简单示例分享
- 有关TinyXML使用的简单总结
- 使用API创建dialog的简单示例
- ICE简单介绍及使用示例
- 使用as加载xml的示例
- BitSet的使用场景及简单示例
- perl的expect和xml模块简单使用
- Qt编程5.1:使用QXmlStreamWriter xml写入(简单应用)
- Java中使用synchronized关键字实现简单同步操作示例
- JDOM操作XML简单示例
- e4x - 对xml操作的一些示例
- 简单使用JDOM解析XML 完整版 转
- 有关TinyXML使用的简单总结
- 数组的简单使用示例
- xml使用非常简单,只需要如下
- 使用jdom简单操作XML
- 使用WTL写Windows程序简单示例
- 【RPC】使用Hessian构建RPC的简单示例
- MonkeyRunner_MonkeyRunner API简单使用帮助.(附示例)