SMART datagrid v.1 > Examples

Back  Forward

Column Filtering  Example

当替代连接在网格上的数据组的所有行,需要显示只符合通过ColumnFilter.expression指定的表达式返回true的条件的行时, 我们将会使用ColumnFilter。 可以为各个列设置一个以上的筛选器,而如果符合ColumnFilter.active为true的列筛选器中的一个筛选条件,就会将相关行显示在网格上。 

如果网格的多个列中有active的列筛选器,就会在网格上显示只符合具有筛选器的所有列的条件的行。 也就是说,个别列会以or、行单位则会以and形式,适用筛选器。 

为了使用户可直接操作设置在列中的筛选器,首先需要指定GridBase.operateOptionsfilteringEnabledtrue。 当点击列标头的筛选器处理器时,将会显示筛选器列表,并且可以变更各个筛选器的active设置。 使用JavaScript api的列筛选器设置,与filteringEnabled设置是无关的。 

下列例题中,我们将会在创建列时,在"单价"列中设置筛选器。 

Code -1
    {
        "name": "UnitPrice",
        "filters": [{
            "name": "High Price",
            "expression": "value > 800"
        }, {
            "name": "Mid Price",
            "expression": "(value > 500) && (value <= 800)"
        }, {
            "name": "Low Price",
            "expression": "value <= 500"
        }]
    }
Grid - 1
rows

可以通过脚本,重新设置列筛选器列表或添加和删除个别筛选器。 而且,也可以变更个别或所有筛选器的激活状态。 可以通过下列按钮,变更国家列的筛选设置。 



'国家'列中,设置筛选器。
删除'国家'列中的所有筛选器。
'订单日期'列中,添加'只显示2014年'的筛选器。
删除'订单日期'列的筛选器。

查看源代码 JSP 

See Also
ColumnFilter
表达式概述
GridBase.operateOptions
OperateOptions.filteringEnabled
OperateOptions.filterSelector
DataColumn.filters
DataColumn.clearFilters
DataColumn.addFilters
DataColumn.removeFilters
DataColumn.activateFilters
DataColumn.activateAllFilters
Examples
树筛选
行筛选