Note: To start filtering, enter at least two symbols (e.g. 'an') into the editor's text box. This is due to the editor's FilterMinLength property set to 2 in this demo.
This demo shows how a specifically parameterized BindList method of the ComboBox editor can be used to display and filter the editor's data source containing a large amount of records (about 20 000). The BindList method's parameters refer to delegate methods that are declared as static methods within a model class. By providing implementation of these methods you can populate the editor's dropdown list with the required item portions (based on the currently applied filter criteria and the performed list scrolling) and obtain the data item corresponding to the editor's selected item.
In this demo, the ComboBox doesn't perform filter operations on the entire database by itself. Instead, all the necessary data processing is delegated to the database server, which returns only small portions of the required data, displayed by the editor.
This technique minimizes the application server's workload, and significantly reduces the application's response time. Using this technique, together with the 'Contains' filter mode of the ComboBox editor, allows you to deliver your customers with the ability to quickly and efficiently search against a huge amount of data.
Being in an incremental filtering mode, the ComboBox 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 Properties.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 ComboBox works with a large amount of data. In this case, performing filtration on each new symbol typed might not be sensible, due to the large size of the resulting data set, which might affect application performance. Thus, pausing the start of filter operations allows you to provide end-users with more sensible results, and to improve the performance of your page.