DataGridの表示をフィルタリング
サクサク動くDataGridのフィルタ機能のサンプルです。使い心地良いです!業務システムにイイと思う!結果の出るUIって感じがします。ソースコードが公開されています。
サンプルを解説します。
DataGridがdataProvider指定しているコレクションクラスです。基となる情報はAppleのiTunesサイトからトップ100曲をRSSで取得しています。
private var songCollection:ArrayCollection;
filterFunctionを指定します。メソッドを代入するのは、Javaには無い?ですが慣れると非常に楽です。
songCollection.filterFunction = artistFilterFunc;
そして、指定されたitemがフィルタに該当しているかチェックします。戻り値はBooleanです。
private function artistFilterFunc(item:Object):Boolean { var artist:String = item.artist.toLowerCase(); return artist.indexOf(filterInput.text) != -1; }
基本的にこれだけです!!楽なんすよ。早いんすよ。画面遷移はいらんのですよ。
100件のデータをソートするにもフィルタするにもCPU使用率は4〜7%でした。
Flex 2.0 ListCollectionView.filterFunction Example 1
http://spbarber.com/blog/flex-20-listcollectionviewfilterfunction-example-1/