# Wijmo_Grid_Filter.Flexgridfilter

## Content

<div class="content__tsd">
						<div style="display:flex;justify-content:space-between;align-items:center">
							<h1>
								FlexGridFilter Class
							</h1>
						</div>
						<section class="tsd-comment">
							<div class="tsd-comment">
								<div class="lead">
									<p>Implements an Excel-style filter for <a href="wijmo_grid.flexgrid.html">FlexGrid</a> controls.</p>
								</div>
								<p>To enable filtering on a <a href="wijmo_grid.flexgrid.html">FlexGrid</a> control, create an instance
									of the <a href="wijmo_grid_filter.flexgridfilter.html">FlexGridFilter</a> and pass the grid as a parameter to the
								constructor. For example:</p>
								<pre><code class="language-typescript"><span class="hljs-keyword">import</span> { FlexGrid } <span class="hljs-keyword">from</span> <span class="hljs-string">'@mescius/wijmo.grid'</span>;
<span class="hljs-keyword">import</span> { FlexGridFilter } <span class="hljs-keyword">from</span> <span class="hljs-string">'@mescius/wijmo.grid.filter'</span>;
<span class="hljs-keyword">let</span> flex = <span class="hljs-keyword">new</span> FlexGrid(<span class="hljs-string">'#theGrid'</span>); <span class="hljs-comment">// create the grid</span>
<span class="hljs-keyword">let</span> filter = <span class="hljs-keyword">new</span> FlexGridFilter(flex); <span class="hljs-comment">// add a filter to the grid</span></code></pre>
								<p>Once this is done, a filter icon is added to the grid's column headers.
									Clicking the icon shows an editor where the user can edit the filter
								conditions for that column.</p>
								<p>The <a href="wijmo_grid_filter.flexgridfilter.html">FlexGridFilter</a> class depends on the <strong>wijmo.grid</strong> and
								<strong>wijmo.input</strong> modules.</p>
								<p>The example below shows how you can use a <a href="wijmo_grid_filter.flexgridfilter.html">FlexGridFilter</a> to add
								filtering to a <a href="wijmo_grid.flexgrid.html">FlexGrid</a> control:</p>
								<p><a href="/wijmo/demos/Grid/FilteringSearching/Excel-likeFilter/Overview/purejs" target="_blank">Example</a></p>
							</div>
						</section>
						<section class="tsd-hierarchy">
							<h3>Heirarchy</h3>
							<ul class="tsd-hierarchy">
								<li>
									<span class="target">FlexGridFilter</span>
									<ul class="tsd-hierarchy">
										<li>
											<a href="wijmo_grid_sheet.flexsheetfilter.html" class="tsd-signature-type">FlexSheetFilter</a>
										</li>
										<li>
											<a href="wijmo_angular2_grid_filter.wjflexgridfilter.html" class="tsd-signature-type">WjFlexGridFilter</a>
										</li>
									</ul>
								</li>
							</ul>
						</section>
						<section class="tsd-index-group">
							<section class="tsd-index-panel">
								<div class="tsd-index-content">
									<section class="tsd-index-section ">
										<div class="title">
											<div class="gc_api_tree-item_icon_img_wrapper">
												<div class="gc_api_tree-item_icon_img" data-expand="true">
												</div>
											</div>
											<h3>
												Constructors
											</h3>
										</div>
										<ul class="tsd-index-list">
											<li class="tsd-kind-constructor tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#constructor" class="tsd-kind-icon">constructor</a></li>
										</ul>
									</section>
									<section class="tsd-index-section ">
										<div class="title">
											<div class="gc_api_tree-item_icon_img_wrapper">
												<div class="gc_api_tree-item_icon_img" data-expand="true">
												</div>
											</div>
											<h3>
												Properties
											</h3>
										</div>
										<ul class="tsd-index-list">
											<li class="tsd-kind-property tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#activeeditor" class="tsd-kind-icon">active<wbr>Editor</a></li>
											<li class="tsd-kind-property tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#defaultfiltermode" class="tsd-kind-icon">default<wbr>Filter<wbr>Mode</a></li>
											<li class="tsd-kind-property tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#defaultfiltertype" class="tsd-kind-icon">default<wbr>Filter<wbr>Type</a></li>
											<li class="tsd-kind-property tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#exclusivevaluesearch" class="tsd-kind-icon">exclusive<wbr>Value<wbr>Search</a></li>
											<li class="tsd-kind-property tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#filtercolumns" class="tsd-kind-icon">filter<wbr>Columns</a></li>
											<li class="tsd-kind-property tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#filterdefinition" class="tsd-kind-icon">filter<wbr>Definition</a></li>
											<li class="tsd-kind-property tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#grid" class="tsd-kind-icon">grid</a></li>
											<li class="tsd-kind-property tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#reapplyfilteronupdate" class="tsd-kind-icon">re<wbr>Apply<wbr>Filter<wbr>OnUpdate</a></li>
											<li class="tsd-kind-property tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#showfiltericons" class="tsd-kind-icon">show<wbr>Filter<wbr>Icons</a></li>
											<li class="tsd-kind-property tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#showincludeselection" class="tsd-kind-icon">show<wbr>Include<wbr>Selection</a></li>
											<li class="tsd-kind-property tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#showsortbuttons" class="tsd-kind-icon">show<wbr>Sort<wbr>Buttons</a></li>
										</ul>
									</section>
									<section class="tsd-index-section ">
										<div class="title">
											<div class="gc_api_tree-item_icon_img_wrapper">
												<div class="gc_api_tree-item_icon_img" data-expand="true">
												</div>
											</div>
											<h3>
												Methods
											</h3>
										</div>
										<ul class="tsd-index-list">
											<li class="tsd-kind-method tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#apply" class="tsd-kind-icon">apply</a></li>
											<li class="tsd-kind-method tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#clear" class="tsd-kind-icon">clear</a></li>
											<li class="tsd-kind-method tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#closeeditor" class="tsd-kind-icon">close<wbr>Editor</a></li>
											<li class="tsd-kind-method tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#editcolumnfilter" class="tsd-kind-icon">edit<wbr>Column<wbr>Filter</a></li>
											<li class="tsd-kind-method tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#getcolumnfilter" class="tsd-kind-icon">get<wbr>Column<wbr>Filter</a></li>
											<li class="tsd-kind-method tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#oneditingfilter" class="tsd-kind-icon">on<wbr>Editing<wbr>Filter</a></li>
											<li class="tsd-kind-method tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#onexclusivevaluesearchchanged" class="tsd-kind-icon">on<wbr>Exclusive<wbr>Value<wbr>Search<wbr>Changed</a></li>
											<li class="tsd-kind-method tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#onfilterapplied" class="tsd-kind-icon">on<wbr>Filter<wbr>Applied</a></li>
											<li class="tsd-kind-method tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#onfilterchanged" class="tsd-kind-icon">on<wbr>Filter<wbr>Changed</a></li>
											<li class="tsd-kind-method tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#onfilterchanging" class="tsd-kind-icon">on<wbr>Filter<wbr>Changing</a></li>
										</ul>
									</section>
									<section class="tsd-index-section ">
										<div class="title">
											<div class="gc_api_tree-item_icon_img_wrapper">
												<div class="gc_api_tree-item_icon_img" data-expand="true">
												</div>
											</div>
											<h3>
												Events
											</h3>
										</div>
										<ul class="tsd-index-list">
											<li class="tsd-kind-event tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#editingfilter" class="tsd-kind-icon">editing<wbr>Filter</a></li>
											<li class="tsd-kind-event tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#exclusivevaluesearchchanged" class="tsd-kind-icon">exclusive<wbr>Value<wbr>Search<wbr>Changed</a></li>
											<li class="tsd-kind-event tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#filterapplied" class="tsd-kind-icon">filter<wbr>Applied</a></li>
											<li class="tsd-kind-event tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#filterchanged" class="tsd-kind-icon">filter<wbr>Changed</a></li>
											<li class="tsd-kind-event tsd-parent-kind-class"><a href="wijmo_grid_filter.flexgridfilter.html#filterchanging" class="tsd-kind-icon">filter<wbr>Changing</a></li>
										</ul>
									</section>
								</div>
							</section>
						</section>
						<section class="tsd-panel-group tsd-member-group ">
							<h2>Constructors</h2>
							<section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class">
								<a name="constructor" class="tsd-anchor"></a>
								<h3>constructor</h3>
								<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
									<li class="tsd-signature tsd-kind-icon">new <wbr>Flex<wbr>Grid<wbr>Filter<span class="tsd-signature-symbol">(</span>grid<span class="tsd-signature-symbol">: </span><a href="wijmo_grid.flexgrid.html" class="tsd-signature-type">FlexGrid</a>, options<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="wijmo_grid_filter.flexgridfilter.html" class="tsd-signature-type">FlexGridFilter</a></li>
								</ul>
								<ul class="tsd-descriptions">
									<li class="tsd-description">
										<aside class="tsd-sources">
										</aside>
										<div class="tsd-comment">
											<div class="lead">
												<p>Initializes a new instance of the <a href="wijmo_grid_filter.flexgridfilter.html">FlexGridFilter</a> class.</p>
											</div>
										</div>
										<h4 class="tsd-parameters-title">Parameters</h4>
										<ul class="tsd-parameters">
											<li>
												<h5>grid: <a href="wijmo_grid.flexgrid.html" class="tsd-signature-type">FlexGrid</a></h5>
												<div class="tsd-comment">
													<div class="lead">
														<p>The <a href="wijmo_grid.flexgrid.html">FlexGrid</a> to filter.</p>
													</div>
												</div>
											</li>
											<li>
												<h5><span class="tsd-flag ts-flagOptional">Optional</span> options: <span class="tsd-signature-type">any</span></h5>
												<div class="tsd-comment">
													<div class="lead">
														<p>Initialization options for the <a href="wijmo_grid_filter.flexgridfilter.html">FlexGridFilter</a>.</p>
													</div>
												</div>
											</li>
										</ul>
										<h4 class="tsd-returns-title">Returns <a href="wijmo_grid_filter.flexgridfilter.html" class="tsd-signature-type">FlexGridFilter</a></h4>
									</li>
								</ul>
							</section>
						</section>
						<section class="tsd-panel-group tsd-member-group ">
							<h2>Properties</h2>
							<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
								<a name="activeeditor" class="tsd-anchor"></a>
								<h3>activeEditor</h3>
								<div class="tsd-signature tsd-kind-icon">active<wbr>Editor<span class="tsd-signature-symbol">:</span> <a href="wijmo_grid_filter.columnfiltereditor.html" class="tsd-signature-type">ColumnFilterEditor</a></div>
								<aside class="tsd-sources">
								</aside>
								<div class="tsd-comment">
									<div class="lead">
										<p>Gets the active <a href="wijmo_grid_filter.columnfiltereditor.html">ColumnFilterEditor</a>.</p>
									</div>
									<p>This property allows you to customize the filter editor when
										handling the <a href="wijmo_grid_filter.flexgridfilter.html#filterchanging">filterChanging</a> event.
									It returns null when no filters are being edited.</p>
								</div>
							</section>
							<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
								<a name="defaultfiltermode" class="tsd-anchor"></a>
								<h3>defaultFilterMode</h3>
								<div class="tsd-signature tsd-kind-icon">default<wbr>Filter<wbr>Mode<span class="tsd-signature-symbol">:</span> <a href="../enums/wijmo_grid_filter.filtermode.html" class="tsd-signature-type">FilterMode</a></div>
								<aside class="tsd-sources">
								</aside>
								<div class="tsd-comment">
									<div class="lead">
										<p>Gets or sets the default filter mode to use.</p>
									</div>
									<p>This value can be overridden in filter mode for specific columns.
										For example, the code below creates a filter that filter mode by
									single filter mode on all columns except the "ByMultiFilter" column:</p>
									<pre><code class="language-typescript"><span class="hljs-keyword">import</span> { FlexGridFilter, FilterMode } <span class="hljs-keyword">from</span> <span class="hljs-string">'@mescius/wijmo.grid.filter'</span>;
<span class="hljs-keyword">let</span> filter = <span class="hljs-keyword">new</span> FlexGridFilter(flex);
filter.defaultFilterMode = FilterMode.SingleFilter;
<span class="hljs-keyword">let</span> col = flex.getColumn(<span class="hljs-string">'ByMultiFilter'</span>),
    cf = filter.getColumnFilter(col);
cf.filterMode = FilterMode.MultiFilter;</code></pre>
									<p>The default value for this property is <strong>FilterMode.SingleFilter</strong>.</p>
								</div>
							</section>
							<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
								<a name="defaultfiltertype" class="tsd-anchor"></a>
								<h3>defaultFilterType</h3>
								<div class="tsd-signature tsd-kind-icon">default<wbr>Filter<wbr>Type<span class="tsd-signature-symbol">:</span> <a href="../enums/wijmo_grid_filter.filtertype.html" class="tsd-signature-type">FilterType</a></div>
								<aside class="tsd-sources">
								</aside>
								<div class="tsd-comment">
									<div class="lead">
										<p>Gets or sets the default filter type to use.</p>
									</div>
									<p>This value can be overridden in filters for specific columns.
										For example, the code below creates a filter that filters by
									conditions on all columns except the "ByValue" column:</p>
									<pre><code class="language-typescript"><span class="hljs-keyword">import</span> { FlexGridFilter, FilterType } <span class="hljs-keyword">from</span> <span class="hljs-string">'@mescius/wijmo.grid.filter'</span>;
<span class="hljs-keyword">let</span> filter = <span class="hljs-keyword">new</span> FlexGridFilter(flex);
filter.defaultFilterType = FilterType.Condition;
<span class="hljs-keyword">let</span> col = flex.getColumn(<span class="hljs-string">'ByValue'</span>),
    cf = filter.getColumnFilter(col);
cf.filterType = FilterType.Value;</code></pre>
									<p>The default value for this property is <strong>FilterType.Both</strong>.</p>
								</div>
							</section>
							<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
								<a name="exclusivevaluesearch" class="tsd-anchor"></a>
								<h3>exclusiveValueSearch</h3>
								<div class="tsd-signature tsd-kind-icon">exclusive<wbr>Value<wbr>Search<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
								<aside class="tsd-sources">
								</aside>
								<div class="tsd-comment">
									<div class="lead">
										<p>Gets or sets a value that determines whether the filter should
											include only values selected by the <a href="wijmo_grid_filter.valuefilter.html#filtertext">ValueFilter.filterText</a>
										property.</p>
									</div>
									<p>The default value for this property is <strong>true</strong>, which matches
									Excel's behavior.</p>
									<p>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.</p>
								</div>
							</section>
							<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
								<a name="filtercolumns" class="tsd-anchor"></a>
								<h3>filterColumns</h3>
								<div class="tsd-signature tsd-kind-icon">filter<wbr>Columns<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></div>
								<aside class="tsd-sources">
								</aside>
								<div class="tsd-comment">
									<div class="lead">
										<p>Gets or sets an array containing the names or bindings of the columns
										that have filters.</p>
									</div>
									<p>Setting this property to null or to an empty array adds filters to
									all columns.</p>
								</div>
							</section>
							<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
								<a name="filterdefinition" class="tsd-anchor"></a>
								<h3>filterDefinition</h3>
								<div class="tsd-signature tsd-kind-icon">filter<wbr>Definition<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
								<aside class="tsd-sources">
								</aside>
								<div class="tsd-comment">
									<div class="lead">
										<p>Gets or sets the current filter definition as a JSON string.</p>
									</div>
									<p>The <a href="wijmo_grid_filter.flexgridfilter.html#filterdefinition">filterDefinition</a> includes information about all
										currently active column filters. It does not include data maps
									because data maps are not serializable.</p>
								</div>
							</section>
							<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
								<a name="grid" class="tsd-anchor"></a>
								<h3>grid</h3>
								<div class="tsd-signature tsd-kind-icon">grid<span class="tsd-signature-symbol">:</span> <a href="wijmo_grid.flexgrid.html" class="tsd-signature-type">FlexGrid</a></div>
								<aside class="tsd-sources">
								</aside>
								<div class="tsd-comment">
									<div class="lead">
										<p>Gets a reference to the <a href="wijmo_grid.flexgrid.html">FlexGrid</a> that owns this filter.</p>
									</div>
								</div>
							</section>
							<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
								<a name="reapplyfilteronupdate" class="tsd-anchor"></a>
								<h3>reApplyFilterOnUpdate</h3>
								<div class="tsd-signature tsd-kind-icon">re<wbr>Apply<wbr>Filter<wbr>OnUpdate<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
								<aside class="tsd-sources">
								</aside>
								<div class="tsd-comment">
									<div class="lead">
										<p>Gets or sets a value indicating whether to apply filter on the updated
											rows.
											If this property is set to true, then events such as row update,
											row insertion, sorting etc refreshes filter and rows which do not pass
											filter gets filtered out.
											If this property is set to false, then filter is not applied immediately
											and we need to click the apply button again to refresh filter.
											For complete excel behavior you also need to set the refreshOnEdit property <a href="wijmo.collectionview.html#refreshonedit">CollectionView.refreshOnEdit</a>
										of CollectionView to false</p>
									</div>
									<pre><code class="language-typescript"><span class="hljs-comment">// For flexgrid</span>
flexgrid.collectionView.refreshOnEdit = <span class="hljs-literal">false</span>;

<span class="hljs-comment">// For flexsheet</span>
flexSheet.itemsSourceChanged.addHandler(<span class="hljs-function">(<span class="hljs-params">s, e</span>) =&gt;</span> {
  <span class="hljs-keyword">if</span>(s.collectionView){
    s.collectionView.refreshOnEdit = <span class="hljs-literal">false</span>;
  }
});</code></pre>
									<p>The default value for this property is <strong>false</strong>.</p>
								</div>
							</section>
							<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
								<a name="showfiltericons" class="tsd-anchor"></a>
								<h3>showFilterIcons</h3>
								<div class="tsd-signature tsd-kind-icon">show<wbr>Filter<wbr>Icons<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
								<aside class="tsd-sources">
								</aside>
								<div class="tsd-comment">
									<div class="lead">
										<p>Gets or sets a value indicating whether the <a href="wijmo_grid_filter.flexgridfilter.html">FlexGridFilter</a> adds filter
										editing buttons to the grid's column headers.</p>
									</div>
									<p>If you set this property to false, then you are responsible for providing
									a way for users to edit, clear, and apply the filters.</p>
									<p>The default value for this property is <strong>true</strong>.</p>
								</div>
							</section>
							<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
								<a name="showincludeselection" class="tsd-anchor"></a>
								<h3>showIncludeSelection</h3>
								<div class="tsd-signature tsd-kind-icon">show<wbr>Include<wbr>Selection<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
								<aside class="tsd-sources">
								</aside>
								<div class="tsd-comment">
									<div class="lead">
										<p>Gets or sets a value that indicates whether the
											value filter should display excel like 'Add current selection to filter' option
										The default value for this property is <strong>False</strong></p>
									</div>
								</div>
							</section>
							<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
								<a name="showsortbuttons" class="tsd-anchor"></a>
								<h3>showSortButtons</h3>
								<div class="tsd-signature tsd-kind-icon">show<wbr>Sort<wbr>Buttons<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
								<aside class="tsd-sources">
								</aside>
								<div class="tsd-comment">
									<div class="lead">
										<p>Gets or sets a value indicating whether the filter editor should include
										sort buttons.</p>
									</div>
									<p>By default, the editor shows sort buttons like Excel does. But since users
										can sort columns by clicking their headers, sort buttons in the filter editor
									may not be desirable in some circumstances.</p>
									<p>The default value for this property is <strong>true</strong>.</p>
								</div>
							</section>
						</section>
						<section class="tsd-panel-group tsd-member-group ">
							<h2>Methods</h2>
							<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
								<a name="apply" class="tsd-anchor"></a>
								<h3>apply</h3>
								<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
									<li class="tsd-signature tsd-kind-icon">apply<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
								</ul>
								<ul class="tsd-descriptions">
									<li class="tsd-description">
										<aside class="tsd-sources">
										</aside>
										<div class="tsd-comment">
											<div class="lead">
												<p>Applies the current column filters to the grid.</p>
											</div>
										</div>
										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
									</li>
								</ul>
							</section>
							<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
								<a name="clear" class="tsd-anchor"></a>
								<h3>clear</h3>
								<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
									<li class="tsd-signature tsd-kind-icon">clear<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
								</ul>
								<ul class="tsd-descriptions">
									<li class="tsd-description">
										<aside class="tsd-sources">
										</aside>
										<div class="tsd-comment">
											<div class="lead">
												<p>Clears all column filters.</p>
											</div>
										</div>
										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
									</li>
								</ul>
							</section>
							<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
								<a name="closeeditor" class="tsd-anchor"></a>
								<h3>closeEditor</h3>
								<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
									<li class="tsd-signature tsd-kind-icon">close<wbr>Editor<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
								</ul>
								<ul class="tsd-descriptions">
									<li class="tsd-description">
										<aside class="tsd-sources">
										</aside>
										<div class="tsd-comment">
											<div class="lead">
												<p>Closes the filter editor.</p>
											</div>
										</div>
										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
									</li>
								</ul>
							</section>
							<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
								<a name="editcolumnfilter" class="tsd-anchor"></a>
								<h3>editColumnFilter</h3>
								<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
									<li class="tsd-signature tsd-kind-icon">edit<wbr>Column<wbr>Filter<span class="tsd-signature-symbol">(</span>col<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span>, ht<span class="tsd-signature-symbol">?: </span><a href="wijmo_grid.hittestinfo.html" class="tsd-signature-type">HitTestInfo</a>, ref<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">HTMLElement</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
								</ul>
								<ul class="tsd-descriptions">
									<li class="tsd-description">
										<aside class="tsd-sources">
										</aside>
										<div class="tsd-comment">
											<div class="lead">
												<p>Shows the filter editor for the given grid column.</p>
											</div>
										</div>
										<h4 class="tsd-parameters-title">Parameters</h4>
										<ul class="tsd-parameters">
											<li>
												<h5>col: <span class="tsd-signature-type">any</span></h5>
												<div class="tsd-comment">
													<p>The <a href="wijmo_grid.column.html">Column</a> that contains the filter to edit.</p>
												</div>
											</li>
											<li>
												<h5><span class="tsd-flag ts-flagOptional">Optional</span> ht: <a href="wijmo_grid.hittestinfo.html" class="tsd-signature-type">HitTestInfo</a></h5>
												<div class="tsd-comment">
													<p>A <a href="wijmo_grid.hittestinfo.html">wijmo.grid.HitTestInfo</a> object containing the range of the cell
													that triggered the filter display.</p>
												</div>
											</li>
											<li>
												<h5><span class="tsd-flag ts-flagOptional">Optional</span> ref: <span class="tsd-signature-type">HTMLElement</span></h5>
												<div class="tsd-comment">
													<p>An HTMLElement to use as a reference for positioning the editor.</p>
												</div>
											</li>
										</ul>
										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
									</li>
								</ul>
							</section>
							<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
								<a name="getcolumnfilter" class="tsd-anchor"></a>
								<h3>getColumnFilter</h3>
								<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
									<li class="tsd-signature tsd-kind-icon">get<wbr>Column<wbr>Filter<span class="tsd-signature-symbol">(</span>col<span class="tsd-signature-symbol">: </span><a href="wijmo_grid.column.html" class="tsd-signature-type">Column</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span>, create<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="wijmo_grid_filter.columnfilter.html" class="tsd-signature-type">ColumnFilter</a></li>
								</ul>
								<ul class="tsd-descriptions">
									<li class="tsd-description">
										<aside class="tsd-sources">
										</aside>
										<div class="tsd-comment">
											<div class="lead">
												<p>Gets the filter for the given column.</p>
											</div>
										</div>
										<h4 class="tsd-parameters-title">Parameters</h4>
										<ul class="tsd-parameters">
											<li>
												<h5>col: <a href="wijmo_grid.column.html" class="tsd-signature-type">Column</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span></h5>
												<div class="tsd-comment">
													<p>The <a href="wijmo_grid.column.html">Column</a> that the filter applies to (or column name or index).
													If the specified column does not exist, the method returns null.</p>
												</div>
											</li>
											<li>
												<h5><span class="tsd-flag ts-flagOptional">Optional</span> create: <span class="tsd-signature-type">boolean</span></h5>
												<div class="tsd-comment">
													<p>Whether to create the filter if it does not exist.</p>
												</div>
											</li>
										</ul>
										<h4 class="tsd-returns-title">Returns <a href="wijmo_grid_filter.columnfilter.html" class="tsd-signature-type">ColumnFilter</a></h4>
									</li>
								</ul>
							</section>
							<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
								<a name="oneditingfilter" class="tsd-anchor"></a>
								<h3>onEditingFilter</h3>
								<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
									<li class="tsd-signature tsd-kind-icon">on<wbr>Editing<wbr>Filter<span class="tsd-signature-symbol">(</span>e<span class="tsd-signature-symbol">: </span><a href="wijmo_grid.cellrangeeventargs.html" class="tsd-signature-type">CellRangeEventArgs</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
								</ul>
								<ul class="tsd-descriptions">
									<li class="tsd-description">
										<aside class="tsd-sources">
										</aside>
										<div class="tsd-comment">
											<div class="lead">
												<p>Raises the <a href="wijmo_grid_filter.flexgridfilter.html#editingfilter">editingFilter</a> event.</p>
											</div>
										</div>
										<h4 class="tsd-parameters-title">Parameters</h4>
										<ul class="tsd-parameters">
											<li>
												<h5>e: <a href="wijmo_grid.cellrangeeventargs.html" class="tsd-signature-type">CellRangeEventArgs</a></h5>
												<div class="tsd-comment">
													<p><a href="wijmo_grid.cellrangeeventargs.html">CellRangeEventArgs</a> that contains the event data.</p>
												</div>
											</li>
										</ul>
										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
										<p>True if the event was not canceled.</p>
									</li>
								</ul>
							</section>
							<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
								<a name="onexclusivevaluesearchchanged" class="tsd-anchor"></a>
								<h3>onExclusiveValueSearchChanged</h3>
								<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
									<li class="tsd-signature tsd-kind-icon">on<wbr>Exclusive<wbr>Value<wbr>Search<wbr>Changed<span class="tsd-signature-symbol">(</span>e<span class="tsd-signature-symbol">?: </span><a href="wijmo.eventargs.html" class="tsd-signature-type">EventArgs</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
								</ul>
								<ul class="tsd-descriptions">
									<li class="tsd-description">
										<aside class="tsd-sources">
										</aside>
										<div class="tsd-comment">
											<div class="lead">
												<p>Raises the <a href="wijmo_grid_filter.flexgridfilter.html#exclusivevaluesearchchanged">exclusiveValueSearchChanged</a> event.</p>
											</div>
										</div>
										<h4 class="tsd-parameters-title">Parameters</h4>
										<ul class="tsd-parameters">
											<li>
												<h5><span class="tsd-flag ts-flagOptional">Optional</span> e: <a href="wijmo.eventargs.html" class="tsd-signature-type">EventArgs</a></h5>
											</li>
										</ul>
										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
									</li>
								</ul>
							</section>
							<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
								<a name="onfilterapplied" class="tsd-anchor"></a>
								<h3>onFilterApplied</h3>
								<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
									<li class="tsd-signature tsd-kind-icon">on<wbr>Filter<wbr>Applied<span class="tsd-signature-symbol">(</span>e<span class="tsd-signature-symbol">?: </span><a href="wijmo.eventargs.html" class="tsd-signature-type">EventArgs</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
								</ul>
								<ul class="tsd-descriptions">
									<li class="tsd-description">
										<aside class="tsd-sources">
										</aside>
										<div class="tsd-comment">
											<div class="lead">
												<p>Raises the <a href="wijmo_grid_filter.flexgridfilter.html#filterapplied">filterApplied</a> event.</p>
											</div>
										</div>
										<h4 class="tsd-parameters-title">Parameters</h4>
										<ul class="tsd-parameters">
											<li>
												<h5><span class="tsd-flag ts-flagOptional">Optional</span> e: <a href="wijmo.eventargs.html" class="tsd-signature-type">EventArgs</a></h5>
											</li>
										</ul>
										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
									</li>
								</ul>
							</section>
							<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
								<a name="onfilterchanged" class="tsd-anchor"></a>
								<h3>onFilterChanged</h3>
								<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
									<li class="tsd-signature tsd-kind-icon">on<wbr>Filter<wbr>Changed<span class="tsd-signature-symbol">(</span>e<span class="tsd-signature-symbol">: </span><a href="wijmo_grid.cellrangeeventargs.html" class="tsd-signature-type">CellRangeEventArgs</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
								</ul>
								<ul class="tsd-descriptions">
									<li class="tsd-description">
										<aside class="tsd-sources">
										</aside>
										<div class="tsd-comment">
											<div class="lead">
												<p>Raises the <a href="wijmo_grid_filter.flexgridfilter.html#filterchanged">filterChanged</a> event.</p>
											</div>
										</div>
										<h4 class="tsd-parameters-title">Parameters</h4>
										<ul class="tsd-parameters">
											<li>
												<h5>e: <a href="wijmo_grid.cellrangeeventargs.html" class="tsd-signature-type">CellRangeEventArgs</a></h5>
											</li>
										</ul>
										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
									</li>
								</ul>
							</section>
							<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
								<a name="onfilterchanging" class="tsd-anchor"></a>
								<h3>onFilterChanging</h3>
								<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
									<li class="tsd-signature tsd-kind-icon">on<wbr>Filter<wbr>Changing<span class="tsd-signature-symbol">(</span>e<span class="tsd-signature-symbol">: </span><a href="wijmo_grid.cellrangeeventargs.html" class="tsd-signature-type">CellRangeEventArgs</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
								</ul>
								<ul class="tsd-descriptions">
									<li class="tsd-description">
										<aside class="tsd-sources">
										</aside>
										<div class="tsd-comment">
											<div class="lead">
												<p>Raises the <a href="wijmo_grid_filter.flexgridfilter.html#filterchanging">filterChanging</a> event.</p>
											</div>
										</div>
										<h4 class="tsd-parameters-title">Parameters</h4>
										<ul class="tsd-parameters">
											<li>
												<h5>e: <a href="wijmo_grid.cellrangeeventargs.html" class="tsd-signature-type">CellRangeEventArgs</a></h5>
												<div class="tsd-comment">
													<p><a href="wijmo_grid.cellrangeeventargs.html">CellRangeEventArgs</a> that contains the event data.</p>
												</div>
											</li>
										</ul>
										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
										<p>True if the event was not canceled.</p>
									</li>
								</ul>
							</section>
						</section>
						<section class="tsd-panel-group tsd-member-group ">
							<h2>Events</h2>
							<section class="tsd-panel tsd-member tsd-kind-event tsd-parent-kind-class">
								<a name="editingfilter" class="tsd-anchor"></a>
								<h3>editingFilter</h3>
								<div class="tsd-signature tsd-kind-icon">editing<wbr>Filter<span class="tsd-signature-symbol">:</span> <a href="wijmo.event.html" class="tsd-signature-type">Event</a><span class="tsd-signature-symbol">&lt;</span><a href="wijmo_grid_filter.flexgridfilter.html" class="tsd-signature-type">FlexGridFilter</a><span class="tsd-signature-symbol">, </span><a href="wijmo.eventargs.html" class="tsd-signature-type">EventArgs</a><span class="tsd-signature-symbol">&gt;</span></div>
								<aside class="tsd-sources">
								</aside>
								<div class="tsd-comment">
									<div class="lead">
										<p>Occurs when a column filter is about to be edited by the user.
											Use this event to customize the column filter if you want to
										override the default settings for the filter.</p>
									</div>
									<p>This event fires before the filter editor is created, so the
										<a href="wijmo_grid_filter.flexgridfilter.html#activeeditor">activeEditor</a> property is null at this point.
										If you want to customize the editor, use the <a href="wijmo_grid_filter.flexgridfilter.html#filterchanging">filterChanging</a>
									event.</p>
									<p>For example, the code below customizes the list of country names
									in the value filter editor so "Italy" is always the first value:</p>
									<pre><code class="language-typescript"><span class="hljs-keyword">new</span> FlexGridFilter(theGrid, {
    editingFilter: <span class="hljs-function">(<span class="hljs-params">s, e</span>) =&gt;</span> {
        <span class="hljs-keyword">if</span> (e.getColumn().binding == <span class="hljs-string">'country'</span>) {

            <span class="hljs-comment">// start with Italy</span>
            <span class="hljs-keyword">let</span> vals = [<span class="hljs-string">"Italy"</span>];

            <span class="hljs-comment">// append other unique values (except Italy)</span>
            <span class="hljs-keyword">let</span> valueFilter = s.getColumnFilter(<span class="hljs-string">"country"</span>, <span class="hljs-literal">true</span>).valueFilter;
            valueFilter.uniqueValues = <span class="hljs-literal">null</span>;
            valueFilter.getUniqueValues().forEach(<span class="hljs-function"><span class="hljs-params">item</span> =&gt;</span> {
                <span class="hljs-keyword">if</span> (item.text != <span class="hljs-string">"Italy"</span>) {
                    vals.push(item.text);
                }
            });

            <span class="hljs-comment">// assign custom unique value list to the valueFilter</span>
            valueFilter.uniqueValues = vals;
            valueFilter.sortValues = <span class="hljs-literal">false</span>;
        }
    }
});</code></pre>
								</div>
							</section>
							<section class="tsd-panel tsd-member tsd-kind-event tsd-parent-kind-class">
								<a name="exclusivevaluesearchchanged" class="tsd-anchor"></a>
								<h3>exclusiveValueSearchChanged</h3>
								<div class="tsd-signature tsd-kind-icon">exclusive<wbr>Value<wbr>Search<wbr>Changed<span class="tsd-signature-symbol">:</span> <a href="wijmo.event.html" class="tsd-signature-type">Event</a><span class="tsd-signature-symbol">&lt;</span><a href="wijmo_grid_filter.flexgridfilter.html" class="tsd-signature-type">FlexGridFilter</a><span class="tsd-signature-symbol">, </span><a href="wijmo.eventargs.html" class="tsd-signature-type">EventArgs</a><span class="tsd-signature-symbol">&gt;</span></div>
								<aside class="tsd-sources">
								</aside>
								<div class="tsd-comment">
									<div class="lead">
										<p>Occurs after the exclusiveValueSearch is changed.</p>
									</div>
								</div>
							</section>
							<section class="tsd-panel tsd-member tsd-kind-event tsd-parent-kind-class">
								<a name="filterapplied" class="tsd-anchor"></a>
								<h3>filterApplied</h3>
								<div class="tsd-signature tsd-kind-icon">filter<wbr>Applied<span class="tsd-signature-symbol">:</span> <a href="wijmo.event.html" class="tsd-signature-type">Event</a><span class="tsd-signature-symbol">&lt;</span><a href="wijmo_grid_filter.flexgridfilter.html" class="tsd-signature-type">FlexGridFilter</a><span class="tsd-signature-symbol">, </span><a href="wijmo.eventargs.html" class="tsd-signature-type">EventArgs</a><span class="tsd-signature-symbol">&gt;</span></div>
								<aside class="tsd-sources">
								</aside>
								<div class="tsd-comment">
									<div class="lead">
										<p>Occurs after the filter is applied.</p>
									</div>
								</div>
							</section>
							<section class="tsd-panel tsd-member tsd-kind-event tsd-parent-kind-class">
								<a name="filterchanged" class="tsd-anchor"></a>
								<h3>filterChanged</h3>
								<div class="tsd-signature tsd-kind-icon">filter<wbr>Changed<span class="tsd-signature-symbol">:</span> <a href="wijmo.event.html" class="tsd-signature-type">Event</a><span class="tsd-signature-symbol">&lt;</span><a href="wijmo_grid_filter.flexgridfilter.html" class="tsd-signature-type">FlexGridFilter</a><span class="tsd-signature-symbol">, </span><a href="wijmo_grid.cellrangeeventargs.html" class="tsd-signature-type">CellRangeEventArgs</a><span class="tsd-signature-symbol">&gt;</span></div>
								<aside class="tsd-sources">
								</aside>
								<div class="tsd-comment">
									<div class="lead">
										<p>Occurs after a column filter has been edited by the user.</p>
									</div>
									<p>Use the event parameters to determine the column that owns
									the filter and whether changes were applied or canceled.</p>
								</div>
							</section>
							<section class="tsd-panel tsd-member tsd-kind-event tsd-parent-kind-class">
								<a name="filterchanging" class="tsd-anchor"></a>
								<h3>filterChanging</h3>
								<div class="tsd-signature tsd-kind-icon">filter<wbr>Changing<span class="tsd-signature-symbol">:</span> <a href="wijmo.event.html" class="tsd-signature-type">Event</a><span class="tsd-signature-symbol">&lt;</span><a href="wijmo_grid_filter.flexgridfilter.html" class="tsd-signature-type">FlexGridFilter</a><span class="tsd-signature-symbol">, </span><a href="wijmo_grid.cellrangeeventargs.html" class="tsd-signature-type">CellRangeEventArgs</a><span class="tsd-signature-symbol">&gt;</span></div>
								<aside class="tsd-sources">
								</aside>
								<div class="tsd-comment">
									<div class="lead">
										<p>Occurs when a column filter is about to be edited by the user.</p>
									</div>
									<p>Use this event to customize the filter editor if you want to
										override its default settings.
										You can use the <a href="wijmo_grid_filter.flexgridfilter.html#activeeditor">activeEditor</a> property to get a reference
									to the currently active filter editor.</p>
									<p>For example, the code below applies a custom sort to the list of
										country names in the value filter editor so "Italy" is always the
									first value:</p>
									<pre><code class="language-typescript"><span class="hljs-keyword">new</span> FlexGridFilter(theGrid, {
    filterChanging: <span class="hljs-function">(<span class="hljs-params">s, e</span>) =&gt;</span> {
        <span class="hljs-keyword">if</span> (e.getColumn().binding == <span class="hljs-string">"country"</span>) {
            <span class="hljs-keyword">let</span> edt = s.activeEditor,
                lbHost = edt.hostElement.querySelector(<span class="hljs-string">'[wj-part=div-values]'</span>),
                lb = Control.getControl(lbHost) <span class="hljs-keyword">as</span> ListBox;
            <span class="hljs-function">(<span class="hljs-params">lb.collectionView <span class="hljs-keyword">as</span> CollectionView</span>).<span class="hljs-params">sortComparer</span> = (<span class="hljs-params">a: <span class="hljs-built_in">any</span>, b: <span class="hljs-built_in">any</span></span>) =&gt;</span> {
                <span class="hljs-keyword">if</span> (a != b) { <span class="hljs-comment">// sort Italy first</span>
                    <span class="hljs-keyword">if</span> (a == <span class="hljs-string">'Italy'</span>) <span class="hljs-keyword">return</span> <span class="hljs-number">-1</span>;
                    <span class="hljs-keyword">if</span> (b == <span class="hljs-string">'Italy'</span>) <span class="hljs-keyword">return</span> +<span class="hljs-number">1</span>;
                }
                <span class="hljs-keyword">return</span> <span class="hljs-literal">null</span>; <span class="hljs-comment">// use default sort order</span>
            }
            lb.collectionView.refresh();
        }
    },
});</code></pre>
								</div>
							</section>
						</section>
					</div>