这里主要展示如何使用搜索的关键字过滤DataGrid的行。其实也不是很难,因为DataGrid使用dataProvier可以是ArrayCollection,并且ArrayCollection本身就有过滤的功能即使用变量filterFunction.所以基本上,你的DataGrid和dataProvider像如下的定义:
[Bindable] public var dpRows:ArrayCollection;
然后你可以用一种简单的方法来创建过滤的方法:
public function filterResults():void
{
dpRows.filterFunction = _sortRows;
dpRows.refresh();
}
最后,是使用_sortRows方法来对符合过滤关键字的行返回一个ture--那行就可见,否则返回false--那行就被隐藏。
private function _sortRows(item:Object):Boolean
{
var col:String = cmbCol.selectedItem.data as String;
var key:String = keyword.text;
key = key.toLowerCase();
if (key != "")
{
if (col != "any")
{
var value:String = item[col];
value = value.toLowerCase();
if (value.indexOf(key)>= 0)
{
return true;
}
} else {
for (var o:String in item)
{
value = item[o];
value = value.toLowerCase();
if (value.indexOf(key)>= 0)
{
return true;
}
}
}
} else {
return true;
}
return false;
}
本文介绍如何使用关键字过滤DataGrid中的行。通过设置DataGrid的数据提供者为ArrayCollection并利用其filterFunction属性,实现对行数据的高效筛选。具体步骤包括定义过滤函数、更新filterFunction属性及刷新数据集。
119

被折叠的 条评论
为什么被折叠?



