Skip to main content
A newer version of this page is available. .

Incremental Filtering of ASPxComboBox

  • 2 minutes to read

The ASPxComboBox editor enables end-users to filter list items dynamically, based upon the text typed into the editor’s input box on the client side (find-as-you-type filtering). The following filter modes are available, controlled by the ASPxAutoCompleteBoxBase.IncrementalFilteringMode property:

  • None

    Filtering is not applied to list items.

  • StartsWith

    The editor is filtered for list items that begin with the search string.

  • Contains (implemented in v2010 vol 1)

    The editor is filtered for list items that contain the search string. The found search string is highlighted within items for clarity.

The following image shows the ‘Contains‘ filter in action:

asp-combo-incremental-filter.png

Note that in the ‘Contains‘ filter mode, the value typed by an end-user into the edit box is searched for within the editor’s item list, based upon the ASPxAutoCompleteBoxBase.TextFormatString property’s defined format.

Delayed Filtering

You can define the time interval between the time a user starts typing within the editor’s edit box, and filtering is applied. Use the ASPxAutoCompleteBoxBase.IncrementalFilteringDelay property for this purpose.

Moreover, when the ASPxComboBox editor is in incremental filtering mode, it has the capability to start filtering only after an end-user has typed a specific number of symbols in the editor’s text box. The ASPxAutoCompleteBoxBase.FilterMinLength property can be used to define the minimum length for the filter string input, after which filtering operations are initiated.

This behavior is extremely useful when the ASPxComboBox works with a large amount of data! Applying a filter each time a new symbol is typed is not sensible, due to the large size of the data set. This could affect the web site’s performance. Instead, pausing the start of filter operations by using the ASPxAutoCompleteBoxBase.FilterMinLength property, allows you to provide end-users with more sensible results, and to improve the performance of your page.