filter()
filters controls by some criteria
filter(rule?: function | object, config?: object, silent?: boolean): string;
Parameters:
rule?: function | object- the filtering criteria- If set as a function, filtering will be applied by the rule specified in the function. It takes as a parameter a data item and returns true/false
- If set as an object, the parameter has the following attributes:
by?: string | number- optional, the id of a data fieldmatch?: string- optional, a pattern to matchcompare?: function- optional, a function for extended filtering that takes three parameters:value- the value to comparematch- a pattern to matchitem- a data item the values of which should be compared
config?: object- optional, defines the parameters of filtering. The parameter may contain the following properties:type?: string- optional, defines the area the filtering will be applied: "all", "level", "leafs"level?: number- optional, the level the filtering will be applied toadd?: boolean- optional, defines whether each next filtering will be applied to the already filtered data (true), or to the initial data (false, default)id?: string- optional, the id of the filterpermanent?: boolean- optional, true to make the current filter permanent. It will be applied even if the next filtering doesn't have theadd:trueproperty in its configuration object. Such a filter can be removed just with the resetFilter() method
silent?: boolean- optional, if set to true, the method will be called without triggering events, false by default
info
Note that after calling the method with the silent:true parameter, you may need to repaint the component with the paint() method.
Returns:
id: string- the id of the filter
Example:
const grid = new dhx.Grid("grid_container", {
type: "tree",
columns: [
// columns config
],
data: dataset,
});
// filtering data by a function
grid.data.filter(function (item) {
return item.value.toLowerCase().indexOf("a") !== -1;
});
const grid = new dhx.Grid("grid_container", {
type: "tree",
columns: [
// columns config
],
data: dataset,
});
// filtering data by the column
grid.data.filter({
by: "name",
match: "Angola"
});
Related sample: Grid (TreeGrid). Filter