New to Kendo UI for jQueryStart a free 30-day trial

Filter the ComboBox DataSource Manually

Environment

ProductProgress® Kendo UI® ComboBox for jQuery
Operating SystemWindows 10 64bit
Visual Studio VersionVisual Studio 2017
Preferred LanguageJavaScript

Description

How can I manually filter the Data Source instance of the Kendo UI ComboBox?

Solution

The Kendo UI ComboBox has a built-in detection mechanism that checks whether the data is filtered or not.

This information indicates to the widget when to persist the selected value that does not exist in the source. When the source is manually filtered, the ComboBox loses the details about the state of the Data Source and, as a result, might fail to operate.

The following example demonstrates how to manually filter the Data Source instance of the Kendo UI ComboBox.

<div id="example">
    <div class="demo-section k-header">
        <h4>ComboBox</h4>
        <select id="combobox"></select>
    </div>
    <script>
        $(function() {
            var combobox = $("#combobox").kendoComboBox({
                dataTextField: "name",
                dataValueField: "value",
                dataSource: {
                    data: [{ name: "One", value: 1 }, { name: "Two", value: 2 }]
                }
            }).data('kendoComboBox');

            //Filter the source manually
            combobox.dataSource.filter({
                field: 'value',
                operator: 'eq',
                value: 1
            });

            <!-- IMPORTANT: Update filter state of the widget -->
            combobox.listView.setDSFilter(combobox.dataSource.filter());

            combobox.value(1);
        });
    </script>
</div>

See Also