All Components

This website hosts Kendo UI wrappers of Kendo UI for jQuery widgets intended to be used in the React ecosystem.

Go to the native Kendo UI implementations for React

Virtualization

Virtualization is useful for displaying large datasets.

Regardless of the dataset size, the UI virtualization technique uses a fixed amount of list items in the popup list of the component. When the list is scrolled, the MultiSelect reuses the existing items to display the relevant data instead of creating new data.

The following example demonstrates how to set the minimum configuration of the MultiSelect and the DataSource to enable the virtualization.

class MultiSelectContainer extends React.Component {
    constructor(props) {
        super(props);
        this.dataSource = new kendo.data.DataSource({
            type: "odata",
            transport: {
                read: "https://demos.telerik.com/kendo-ui/service/Northwind.svc/Orders"
            },
            pageSize: 80,
            serverPaging: true,
            serverFiltering: true,
        })
        this.dataTextField = "ShipName"
        this.dataValueField = "OrderID"
    }

    render() {
        return (
            <div className="row">
                <div className="col-xs-12 col-sm-6 example-col">
                   <MultiSelect dataSource={this.dataSource}
                                dataTextField={this.dataTextField}
                                dataValueField={this.dataValueField}
                                virtual={{itemHeight:26}}
                                height= {520}/>
                </div>
            </div>
        );
    }
}
ReactDOM.render(
    <MultiSelectContainer />,
    document.querySelector('my-app')
);

Known Limitations

  • While virtualization can work with objects, it is not compatible with primitive values.
  • The items in the virtualized list must have equal heights. To set the height of every single item, use the itemHeight option.
  • The virtualization feature performs a complex pre-fetching of data and assumes that the state of the DataSource will not change without the "awareness" of the component. Manual data operations, such as read, page, filter, add, remove, and others, might lead to unexpected behavior of the component and are not supported.
  • The server filtering feature filters only the source. To page and filter the dataset, use the virtualization of the MultiSelect.
In this article