Your search did not match any results.
TreeList

Load Data on Demand

This example demonstrates how to load data on demand every time a user expands a TreeList node. For this purpose, filtering is delegated to the server, and IDs of expanded nodes are sent to the server with every request for data.
Copy to CodePen
Apply
Reset
window.onload = function() { var viewModel = { treeListOptions: { dataSource: { load: function(options) { return $.ajax({ url: "https://js.devexpress.com/Demos/Mvc/api/treeListData", data: { parentIds: options.parentIds.join(",") } }); } }, remoteOperations: { filtering: true }, keyExpr: "id", parentIdExpr: "parentId", hasItemsExpr: "hasItems", rootValue: "", columns: [ { dataField: "name" }, { dataField: "size", width: 100, customizeText: function(e) { if(e.value !== null) { return Math.ceil(e.value / 1024) + " KB"; } } }, { dataField: "createdDate", dataType: "date", width: 150 }, { dataField: "modifiedDate", dataType: "date", width: 150 } ] } }; ko.applyBindings(viewModel, document.getElementById("treelist")); };
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>DevExtreme Demo</title> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <script src="js/jquery-3.1.0.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.0/knockout-min.js"></script> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/17.1.6/css/dx.spa.css" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/17.1.6/css/dx.common.css" /> <link rel="dx-theme" data-theme="generic.light" href="https://cdn3.devexpress.com/jslib/17.1.6/css/dx.light.css" /> <link rel="dx-theme" data-theme="android5.light" href="https://cdn3.devexpress.com/jslib/17.1.6/css/dx.android5.light.css" /> <link rel="dx-theme" data-theme="ios7.default" href="https://cdn3.devexpress.com/jslib/17.1.6/css/dx.ios7.default.css" /> <link rel="dx-theme" data-theme="win10.black" href="https://cdn3.devexpress.com/jslib/17.1.6/css/dx.win10.black.css" /> <link rel="dx-theme" data-theme="win10.white" href="https://cdn3.devexpress.com/jslib/17.1.6/css/dx.win10.white.css" /> <script src="https://cdn3.devexpress.com/jslib/17.1.6/js/dx.all.js"></script> <link rel="stylesheet" type ="text/css" href ="styles.css" /> <script src="index.js"></script> </head> <body class="dx-viewport"> <div class="demo-container"> <div id="treelist" data-bind="dxTreeList: treeListOptions"></div> </div> </body> </html>
#treelist { max-height: 440px; }