### DataGrid Filter Row（可过滤行的数据表格）

Extension > DataGrid Filter Row

扩展下载地址：http://www.jeasyui.com/extension/downloads/datagrid-filter.zip (我发布的程序包整也有提供，在extension目录下)

#### 导入'datagrid-filter.js'文件

1. <script type="text/javascript" src="datagrid-filter.js"></script>

####

#### 启用过滤

    var dg = $('#dg');dg.datagrid(); // 创建数据表格dg.datagrid('enableFilter'); // 启用过滤

#### 属性

下列属性扩展自Datagrid，以下是新增的属性。.

属性名 | 属性值类型 | 描述 | 默认值
--- | --- | --- | ---
filterMenuIconCls | string | 用来表示选择了哪个过滤器菜单项的图标class名称。 | icon-ok
filterBtnIconCls | string | 过滤器按钮的图标class名称。 | icon-filter
filterBtnPosition | string | 过滤器按钮的位置。可用值有：'left' 和 'right' | right
filterPosition | string | 过滤器栏的可折叠菜单显示位置。可用值有：'top' 和 'bottom' | bottom
showFilterBar | boolean | 设置为true时，显示过滤器栏。 | true
remoteFilter | boolean | 设置为true时，启用远程过滤。在启用远程过滤的时候 'filterRules' 参数将会发送到远程服务器。'filterRules' 参数值是从 'filterStringify' 函数获取的返回值。 | false
filterDelay | number | 延迟过滤 'text' 过滤器组件中最后一次键盘输入事件。 | 400
filterRules | array | 过滤器规则定义。每个规则都包含 'field','op'和'value'属性。 | []
filterMatchingType | string | 指定过滤行是否需要匹配全部或部分应用过滤器。可用值有："all", "any" | all
defaultFilterType | string | 默认过滤类型。 | text
defaultFilterOperator | string | 默认过滤操作器。 | contains
defaultFilterOptions | object | 默认过滤选项。 |
filterStringify | function | 字符串化过滤器规则的函数。 |
    function(data){
    	return JSON.stringify(data);
    }

#### 事件

下列事件扩展自Datagrid，以下是新增的事件。

方法名 | 方法参数 | 描述
--- | --- | ---
onClickMenu | item,button,field | 在点击菜单项的时候触发，返回false取消该动作。 item：点击的菜单项。 button：绑定到过滤器的过滤按钮。 field：字段名。

#### 方法

下列方法扩展自Datagrid，以下是新增的方法。

方法名 | 方法参数 | 描述
--- | --- | ---
enableFilter | filters | 创建并启用过滤功能。'filters'参数是一个过滤器配置数组。每一个项目都包含以下属性： 1) field：自定义规则的字段名。 2) type：过滤类型，可用值有：label,text,textarea,checkbox,numberbox,validatebox,datebox,combobox,combotree。 3) options：过滤类型参数。 4) op：过滤条件：可用值有：contains,equal,notequal,beginwith,endwith,less,lessorequal,greater,greaterorequal。 代码示例：
    $('#dg').datagrid('enableFilter');
    $('#dg').datagrid('enableFilter', [{
    	field:'listprice',
    	type:'numberbox',
    	options:{precision:1},
    	op:['equal','notequal','less','greater']
    }]);
disableFilter | none | 禁用过滤功能。
destroyFilter | none | 销毁过滤器栏。
getFilterRule | field | 获取过滤规则。
addFilterRule | param | 添加一个过滤规则。
    $('#dg').datagrid('addFilterRule', {
    	field: 'desp',
    	op: 'contains',
    	value: 'easyui'
    });
removeFilterRule | field | 远程过滤规则。如果 'field' 参数未指定，将删除所有过滤规则。
doFilter | none | 基于一些过滤规则进行过滤。
getFilterComponent | field | 根据指定的字段获取过滤器。
resizeFilter | field | 调整过滤器大小。