Filter the DataSource of the DropDownList Manually
Environment
Product | Progress® Kendo UI® DropDownList for jQuery |
Operating System | Windows 10 64bit |
Visual Studio Version | Visual Studio 2017 |
Preferred Language | JavaScript |
Description
How can I manually filter the dataSource
instance of the DropDownList?
Solution
The Kendo UI DropDownList has a built-in detection mechanism that checks whether the data is filtered or not.
The widget uses this information to decide when to persist the selected value that does not exist in the source. When the source is manually filtered, the widget loses the details about the state of the DataSource, which might lead to inconsistent behavior.
The following example demonstrates how to achieve the desired scenario.
<div id="example">
<div class="demo-section k-header">
<h4>DropDownList</h4>
<select id="dropdownlist"></select>
</div>
<script>
$(function() {
var dropdownlist = $("#dropdownlist").kendoDropDownList({
dataTextField: "name",
dataValueField: "value",
dataSource: {
data: [{ name: "One", value: 1 }, { name: "Two", value: 2 }]
}
}).data('kendoDropDownList');
//Filter the source manually
dropdownlist.dataSource.filter({
field: 'value',
operator: 'eq',
value: 1
});
<!-- IMPORTANT: Update filter state of the widget -->
dropdownlist.listView.setDSFilter(dropdownlist.dataSource.filter());
dropdownlist.value(1);
});
</script>
</div>
See Also
- JavaScript API Reference of the DropDownList
- Automatically Adjust the Width of a DropDownList
- Create DropDownLists with Long Items
- Detect Wrapper Focus Events
- Move the Group Label on Top of Items
- Prevent Popup Closure on Scroll
- Remove Items
- Set DataSource Dynamically
- Update MVVM Bound Models on Load