Your search did not match any results.

The DataGrid widget ships with an integrated filtering API, allowing you apply filters in code. In this example, the grid’s filter function is called to filter data based on selections made within the drop-down menu above the DataGrid.

Copy to CodePen
window.onload = function() { var viewModel = { gridOptions: { dataSource: { store: { type: "odata", url: "" }, expand: "ResponsibleEmployee", select: [ "Task_ID", "Task_Subject", "Task_Start_Date", "Task_Due_Date", "Task_Status", "Task_Priority", "ResponsibleEmployee/Employee_Full_Name" ] }, columnAutoWidth: true, showBorders: true, columns: [ { dataField: "Task_ID", width: 80 }, { caption: "Start Date", dataField: "Task_Start_Date", dataType: "date" }, { caption: "Assigned To", dataField: "ResponsibleEmployee.Employee_Full_Name", cssClass: "employee", allowSorting: false }, { caption: "Subject", dataField: "Task_Subject", width: 350 }, { caption: "Status", dataField: "Task_Status" } ] }, selectStatusOptions: { dataSource: statuses, value: statuses[0], onValueChanged: function(data) { if (data.value == "All") $("#gridContainer") .dxDataGrid("instance") .clearFilter(); else $("#gridContainer") .dxDataGrid("instance") .filter(["Task_Status", "=", data.value]); } } }; ko.applyBindings(viewModel, document.getElementById("grid")); };
<!DOCTYPE html> <html xmlns=""> <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=""></script> <script>window.jQuery || document.write(decodeURIComponent('%3Cscript src="js/jquery.min.js"%3E%3C/script%3E'))</script> <script src=""></script> <link rel="stylesheet" type="text/css" href="" /> <link rel="dx-theme" data-theme="generic.light" href="" /> <script src=""></script> <script src="data.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="grid"> <div class="left-side"> <div class="logo"> <img src="images/logo-devav.png" /> <img src="images/logo-tasks.png" /> </div> </div> <div class="right-side"> <div data-bind="dxSelectBox: selectStatusOptions"></div> </div> <div id="gridContainer" data-bind="dxDataGrid: gridOptions"></div> </div> </div> </body> </html>
.right-side { position: absolute; right: 1px; top: 6px; } .logo { line-height: 48px; } .logo img { vertical-align: middle; margin: 0 5px; } .dx-row.dx-data-row .employee { color: #bf4e6a; font-weight: bold; } #gridContainer { margin: 20px 0; height: 400px; }
var statuses = ["All", "Not Started", "In Progress", "Need Assistance", "Deferred", "Completed"];