SMART datagrid v.1 > Examples

[ grids ver.1.3.8]   Back  Forward

Column Auto Filtering  Example

列自动筛选器是一种通过设置数据列的autoFilter属性,将除包含在列的值中重复的值以外的值显示为标准项, 并且只获取其中所选项的相关数据行至网格行的筛选装置。 它可以与现有的列筛选器同步使用。 另外,当项的数量较多时,可以通过指定valueScale,以替代个别项的范围为标准而进行筛选。 

下列例题中,显示根据数据类型的自动筛选器设置。 

1. Text Field

"产品名""客户名"列中,只设置了自动筛选器,并且在"国家"列中,同时设置了列筛选器和自动筛选器。 另外,在"货币"列中,只设置了列筛选器。 

在"产品名"列中,通过将ColumnAutoFilter.valueScale指定为2,可以在前两个字相匹配时进行选择,而在"客户名"列中,通过将其指定为-2,可以在后两个字相匹配时进行选择。 另外,通过将ignoreCase指定为true并且将displayCase指定为TextCase.UPPER,在选择框中显示大写字母。 

"产品名"列的自动筛选器的active状态。 

displayCount: "产品名"列的自动筛选器的displayCount。显示在筛选器列表中的项目数量。
displayCase: "产品名"列的自动筛选器的displayCase
Grid - 1
rows

使用所选行的值,选择"国家"列的自动筛选器。v 1.3.8 

使用所选多个行的值,选择"国家"列的自动筛选器。v 1.3.8 

清除"国家"列的所有自动筛选器选项。v 1.3.8 

2. Number Field

如果是NUMBER字段,自动筛选器的valueScale可以将值筛选为转换成10的倍数的范围值。 如果valueScale大于0,乘以10的(valueScale - 1)平方的值将会被筛选为同一范围值, 而如果小于0,就会筛选为相当于valueScale的、乘以-10的平方的范围值。 

下列例题中,"单价"列的valueScale已被设置为2,所以"111.15""115.45"两个值将会被筛选为"110"范围值。 

通过指定ColumnAutoFilter.editSizeFilterSelectorOptions.minWidthFilterSelectorOptions.maxWidth等, 可以明确指定筛选器选择框的宽度。 

"单价"列的自动筛选器项的排序方向
editSize: "数量"列的自动筛选器框搜索编辑器的大小
Grid - 2
rows
3. Date Time Field

连接在DATETIME字段的列的valueScale,将会被用于与DateTimeScale常数值相同的范围值。 例如,如下列"订单日期"列,当valueScale被指定为DateTimeScale.QUARTER时,属于同一季度的日期值将会被筛选为同一范围的日期值。 因为"发货日期"列已被设置为DateTimeScale.DATE,所以当时间值不同但年月日相同时,将会筛选为同一值。 

"订单日期"列的自动筛选器的valueScale:
Grid - 3
rows
4. Boolean Field

如果是BOOLEAN字段,则会在筛选器列表中显示falsetrueundefined等三个值中的一个值。 如果在列样式中设置booleanFormat,就会根据相关格式而显示字符串。 下列例题中,已被设置为"Female;Male;-"。 

Grid - 4
rows

查看源代码 JSP 

See Also
ColumnAutoFilter
DataColumn.autoFilter
DataColumn.filters
TextCase
DateTimeScale
Examples
列筛选