[]
        
(Showing Draft Content)

ValueFilter Class

ValueFilter Class

Defines a value filter for a column on a FlexGrid control.

Value filters contain an explicit list of values that should be displayed by the grid.

Heirarchy

Constructors

constructor

Properties

column

column: Column

Gets the Column to filter.

dataMap

dataMap: DataMap

Gets or sets the DataMap used to convert raw values into display values shown when editing this filter.

exclusiveValueSearch

exclusiveValueSearch: boolean

Gets or sets a value that determines whether the filter should include only values selected by the filterText property.

The default value for this property is true, which matches Excel's behavior.

Set it to false to disable this behavior, so searching only affects which items are displayed on the list and not which items are included in the filter.

filterText

filterText: string

Gets or sets a string used to filter the list of display values.

isActive

isActive: boolean

Gets a value that indicates whether the filter is active.

The filter is active if some values are selected and some are not. If all values are in the same state (either selected or un-selected), then the filter is not active.

maxValues

maxValues: number

Gets or sets the maximum number of elements on the list of display values.

Adding too many items to the list makes searching difficult and hurts performance. This property limits the number of items displayed at any time, but users can still use the search box to filter the items they are interested in.

The default value for this property is 250.

This code changes the value to 1,000,000, effectively listing all unique values for the field:

import { FlexGridFilter} from '@grapecity/wijmo.grid.filter';

// change the maxItems property for the 'id' column:
let f = new FlexGridFilter(theGrid);
f.getColumnFilter('id').valueFilter.maxValues = 1000000;

showValues

showValues: any

Gets or sets an object with the selected (checked) values on the value list.

If the filter is not active, this property is set to null and all values present in the data source are shown on the list.

If the filter is active (the user selected some values from the list but not all), the showValues property is set to an object whose property names are the display values of the selected values.

For example, if the value list contains country names and the user selected "US" and "Japan", the showValues property returns:

{ Japan: true, US: true }

sortValues

sortValues: boolean

Gets or sets a value that determines whether the values should be sorted when displayed in the editor.

This property is especially useful when you are using the uniqueValues to provide a custom list of values property and you would like to preserve the order of the values.

uniqueValues

uniqueValues: any[] | null

Gets or sets an array containing the unique values to be displayed on the list.

If this property is set to null, the list will be filled based on the grid data.

Explicitly assigning the list of unique values is more efficient than building the list from the data, and is required for value filters to work properly when the data is filtered on the server (because in this case some values might not be present on the client so the list will be incomplete).

By default, the filter editor will sort the unique values when displaying them to the user. If you want to prevent that and show the values in the order you provided, set the sortValues property to false.

For example, the code below provides a list of countries to be used in the ValueFilter for the column bound to the 'country' field:

import { FlexGridFilter} from '@grapecity/wijmo.grid.filter';

// create filter for a FlexGrid
let filter = new FlexGridFilter(grid);

// assign list of unique values to country filter
let cf = filter.getColumnFilter('country');
cf.valueFilter.uniqueValues = ['Austria', 'Belgium', 'Chile', 'Denmark'];

Methods

apply

  • apply(value: any): boolean
  • Gets a value that indicates whether a value passes the filter.

    Parameters

    • value: any

      The value to test.

    Returns boolean

clear

  • clear(): void
  • Clears the filter.

    Returns void

getUniqueValues

  • getUniqueValues(filtered?: boolean): any[]
  • Gets an array containing objects that represent all unique values for this column.

    The objects in the array returned contain two properties: value (the data value) and text (the formatted data value).

    If the uniqueValues property is set to an array of values, that array is used as a data source.

    If uniqueValues is null, the method scans all items in the data source and returns an creates an array containing all unique values.

    This method is used by the ValueFilterEditor class to populate the list of values shown to users.

    Parameters

    • Optional filtered: boolean

      Whether to apply all other filters when retrieving the values from the data source.

    Returns any[]

implementsInterface

  • implementsInterface(interfaceName: string): boolean
  • Returns true if this object supports a given interface.

    Parameters

    • interfaceName: string

      Name of the interface to look for.

    Returns boolean