Flex-DataGrid使用关键字过滤结果

      这里主要展示如何使用搜索的关键字过滤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;
}

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值