DataGridの表示をフィルタリング

サクサク動くDataGridのフィルタ機能のサンプルです。使い心地良いです!業務システムにイイと思う!結果の出るUIって感じがします。ソースコードが公開されています。


サンプルを解説します。


DataGridがdataProvider指定しているコレクションクラスです。基となる情報はAppleiTunesサイトからトップ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/