Kodunuz gayet iyi, hatta burada, tuş tıklamalarında sayısal ve alfabetik bir sıralamanın uygulandığı birkaç örnek var.
Alfabetik sıralama, 2 öznitelikte sıralama için iyi bir örnektir. Bu durumda, birincil sıralama 'ad' üzerinde yapılır, ikincil sıralama 'soyadı' üzerinde yapılır.
Sayısal sıralama oldukça esnektir, sıralama alanının sayısal parametresi için bir true değeri sağlarsanız, sıralama özelliği bir sayıya ve sayıya göre sıralar. Boole false değeri sağlarsanız, yerleşik dize karşılaştır işlevi kullanılır. Veri öğelerinin her biri, karşılaştırmadan önce bir String() işlevine dökülür. Boş değer varsayılan değeriyle, bir sayı ya da dizgenin olup olmadığını görmek için ilk veri öğesi gözlenir ve sıralama bu içgözlemeye dayanarak devam eder.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" minWidth="955" minHeight="600">
<mx:Button label="Sort by first then last name" click="sortItemsByName()"/>
<mx:Button label="Sort by number" click="sortItemsByNumber()"/>
<mx:DataGrid dataProvider="{items}"
width="300"
height="300">
<mx:columns>
<mx:DataGridColumn dataField="number"/>
<mx:DataGridColumn dataField="firstname"/>
<mx:DataGridColumn dataField="lastname"/>
</mx:columns>
</mx:DataGrid>
<mx:ArrayCollection id="items">
<mx:Object number="3" firstname="John" lastname="Brown"/>
<mx:Object number="1" firstname="Kate" lastname="Brown"/>
<mx:Object number="4" firstname="Jeremy" lastname="Ryan"/>
<mx:Object number="5" firstname="Joe" lastname="Wilson"/>
<mx:Object number="2" firstname="Greg" lastname="Walling"/>
</mx:ArrayCollection>
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.collections.Sort;
import mx.collections.SortField;
/**
* Sort the arraycollection by the firstname and then the last name
* */
private function sortItemsByName():void{
var srt:Sort = new Sort();
srt.fields = [new SortField("firstname"), new SortField("lastname")];
items.sort = srt;
items.refresh();
}
/**
* Sort the arraycollection numerically
* */
private function sortItemsByNumber():void{
var srt:Sort = new Sort();
srt.fields = [new SortField("number", true, false, true)];
items.sort = srt;
items.refresh();
}
]]>
</mx:Script>
</mx:Application>
Ayrıca burada ... sortField dil referanstır
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/collections/SortField.html
... ve veri sağlayıcılar ve koleksiyonları için Adobe LiveDocs referans ...
http://livedocs.adobe.com/flex/3/html/help.html?content=about_dataproviders_2.html
... ve burada sıralama ve filtreleme için iyi bir canlı yayın referansıdır ...
http://livedocs.adobe.com/flex/3/html/help.html?content=about_dataproviders_4.html