Sorting and filtering data in an XMLListCollection
2008-01-10 18:09
573 查看
The following code is a brief example of sorting a Flex XMLListCollection using the Sort and SortField classes, and the
<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2007/08/22/sorting-and-filtering-data-in-an-xmllistcollection/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white"
creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.collections.SortField;
import mx.collections.Sort;
import mx.controls.*;
private function init():void {
describeTypeXML = describeType(DataGrid);
factoryMethodsXLC.source = describeTypeXML.factory.method;
}
private function sortXLC():void {
var nameSort:Sort = new Sort();
nameSort.fields = [new SortField('@name', true)];
factoryMethodsXLC.sort = nameSort;
factoryMethodsXLC.refresh();
}
private function filterXLC():void {
if (filterCh.selected) {
factoryMethodsXLC.filterFunction = declaredBy_filterFunc;
factoryMethodsXLC.refresh();
} else {
factoryMethodsXLC.filterFunction = null;
factoryMethodsXLC.refresh();
}
}
private function declaredBy_filterFunc(item:XML):Boolean {
return item.@declaredBy == describeTypeXML.@name;
}
]]>
</mx:Script>
<mx:XML id="describeTypeXML" />
<mx:XMLListCollection id="factoryMethodsXLC" />
<mx:VBox>
<mx:DataGrid id="factoryMethodsGrid"
dataProvider="{factoryMethodsXLC}"
width="400"
rowCount="7">
<mx:columns>
<mx:DataGridColumn dataField="@name" />
<mx:DataGridColumn dataField="@returnType" />
<mx:DataGridColumn dataField="@declaredBy" />
</mx:columns>
</mx:DataGrid>
<mx:HBox width="100%">
<mx:Button id="sortBtn"
label="Sort ({factoryMethodsGrid.dataProvider.length} items)"
click="sortXLC()" />
<mx:Spacer width="100%" />
<mx:CheckBox id="filterCh"
label="{describeTypeXML.@name} only"
click="filterXLC()" />
</mx:HBox>
</mx:VBox>
</mx:Application>
XMLListCollection.sortproperty. We also look at filtering the XMLCollection using a custom filter function.
<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2007/08/22/sorting-and-filtering-data-in-an-xmllistcollection/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white"
creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.collections.SortField;
import mx.collections.Sort;
import mx.controls.*;
private function init():void {
describeTypeXML = describeType(DataGrid);
factoryMethodsXLC.source = describeTypeXML.factory.method;
}
private function sortXLC():void {
var nameSort:Sort = new Sort();
nameSort.fields = [new SortField('@name', true)];
factoryMethodsXLC.sort = nameSort;
factoryMethodsXLC.refresh();
}
private function filterXLC():void {
if (filterCh.selected) {
factoryMethodsXLC.filterFunction = declaredBy_filterFunc;
factoryMethodsXLC.refresh();
} else {
factoryMethodsXLC.filterFunction = null;
factoryMethodsXLC.refresh();
}
}
private function declaredBy_filterFunc(item:XML):Boolean {
return item.@declaredBy == describeTypeXML.@name;
}
]]>
</mx:Script>
<mx:XML id="describeTypeXML" />
<mx:XMLListCollection id="factoryMethodsXLC" />
<mx:VBox>
<mx:DataGrid id="factoryMethodsGrid"
dataProvider="{factoryMethodsXLC}"
width="400"
rowCount="7">
<mx:columns>
<mx:DataGridColumn dataField="@name" />
<mx:DataGridColumn dataField="@returnType" />
<mx:DataGridColumn dataField="@declaredBy" />
</mx:columns>
</mx:DataGrid>
<mx:HBox width="100%">
<mx:Button id="sortBtn"
label="Sort ({factoryMethodsGrid.dataProvider.length} items)"
click="sortXLC()" />
<mx:Spacer width="100%" />
<mx:CheckBox id="filterCh"
label="{describeTypeXML.@name} only"
click="filterXLC()" />
</mx:HBox>
</mx:VBox>
</mx:Application>
相关文章推荐
- Sorting XML documents using an XMLListCollection
- Sorting, Filtering, and Paging with the Entity Framework in an ASP.NET MVC Application
- [转]Sorting, Filtering, and Paging with the Entity Framework in an ASP.NET MVC Application (3 of 10)
- Using an XML data provider with the Spark List control in Flex 4
- Retrieve data from xml and show in listField
- Accessing and Manipulating XML Data in .NET I
- Noticed a strange thing the other day, a list has the property ItemCount and also an Items collection which has its own .Count b
- When to use LinkedList and When to use ArrayList- An answer in StackOverFlow
- About UID and How to autostart an application on boot up in 3rd- Startup List Management API
- Difference between List and Set in Java Collection
- 106.Examine the data in the LIST_PRICE and MIN_PRICE columns of the PRODUCTS table:
- Part 72 to 81 Talking about Dictionary and List collection in C#
- using JS to control two select(html),the data can be loaded from database and XML,and show in the select
- ADF Bussiness Components: In-Memory Sorting and Filtering
- spring.data.jpa.query :Cannot use native queries with dynamic sorting and/or pagination in method
- Data Structures and Algorithm Analysis in C 学习之List
- Android: Simplified source code for parsing and working with XML data and web services in Android
- Stop Wrapping Exceptions in Exceptions: Use the .Data Collection on an Exception Instead
- How To Generate An XML File As A Target Datastore Using ODI In An Integration Interface ? [ID 454268
- SQL Server error "Xml data type is not supported in distributed queries" and workaround for it