Skip to main content

Filter Row

  • 2 minutes to read

A filter row is a simpler alternative to filter dropdowns. In a Table View or in a Banded Table View, it is displayed directly under column headers (if the FilterRow.Visible property is set to True). When initially drawn (or not focused and no filtering is applied), it displays a text describing its functionality:

If needed, you can change the description by using the FilterRow.InfoText property and apply a different style (see the View’s Styles.FilterRowInfoText property).

A filter row is separated from other rows by a horizontal bar – the filter row’s separator. You can specify its width and color through the filter row’s FilterRow.SeparatorWidth and FilterRow.SeparatorColor properties.

An end-user can filter results by any field, which is currently located in the View (see also the Customization Form).

A filter row provides three ways of filtering:

  • If the FilterRow.ApplyChanges property is set to fracOnCellExit, then the filter row’s in-place editors add an auto-complete feature. When you start typing characters, an in-place editor automatically completes with the field value containing similar starting characters. Pressing the Enter key updates the View with the filtered data.

  • If the FilterRow.ApplyChanges property is set to fracImmediately, then the View is dynamically updated with the filtered data every time an end-user continues typing in the in-place editor.

  • If the FilterRow.ApplyChanges property is set to fracDelayed, the View is updated with the filtered data after a delay specified by ApplyInputDelay property, allowing an end-user to make a more complete entry within the in-place editor. This improves filtering performance when handling large datasets (relative to the mode when filtering is applied immediately – the FilterRow.ApplyChanges property is fracImmediately).

If a field contains string data, a filter row uses a LIKE operator.

You can specify wildcard operators for a LIKE-match. The default operators are a percent sign (%) for a substring comparison, and an underscore (_) for a single character comparison. To change the comparison behavior, you can substitute the above operators with the other wildcards using the View’s DataController.Filter.PercentWildcard and DataController.Filter.UnderscoreWildcard properties.

By default, filtering is case insensitive. If needed, you can change this state by disabling the fcoCaseInsensitive on the View’s DataController.Filter.Options property.

Note

the above image shows filtering in the fracImmediately mode. The filter panel automatically appears with the first update (if the View’s FilterBox.Visible property is set to fvNonEmpty).

See Also