Your search did not match any results.
Data Grid

Filter Panel

Documentation

This example shows how to filter data using the filter panel. You can use its check box to enable/disable the current filter expression, and clicking on this expression opens the integrated filter builder. Note that changes made in it are reflected in the filter row and header filter, and vice versa.

Apply
Reset
<template> <div> <dx-data-grid id="gridContainer" :data-source="orders" :columns-auto-width="true" :show-borders="true" :filter-builder="filterBuilder" :filter-value="filterValue" > <dx-filter-row :visible="true"/> <dx-filter-panel :visible="true"/> <dx-filter-builder-popup :position="filterBuilderPopupPosition"/> <dx-header-filter :visible="true"/> <dx-scrolling mode="infinite"/> <dx-column :header-filter="{ groupInterval: 10000 }" data-type="number" data-field="OrderNumber" caption="Invoice Number" /> <dx-column data-field="OrderDate" data-type="date" /> <dx-column :editor-options="{ format: 'currency', showClearButton: true }" :header-filter="{dataSource: saleAmountHeaderFilters}" data-field="SaleAmount" data-type="number" format="currency" /> <dx-column data-field="Employee"/> <dx-column data-field="CustomerInfo.StoreCity" caption="City" /> <dx-column data-field="CustomerInfo.StoreState" caption="State" /> </dx-data-grid> </div> </template> <script> import { DxDataGrid, DxColumn, DxHeaderFilter, DxFilterRow, DxFilterPanel, DxFilterBuilderPopup, DxScrolling } from 'devextreme-vue/data-grid'; import { orders } from './data.js'; export default { components: { DxDataGrid, DxColumn, DxHeaderFilter, DxFilterPanel, DxFilterRow, DxFilterBuilderPopup, DxScrolling }, data() { const getOrderDay = rowData => (new Date(rowData.OrderDate)).getDay(); return { orders, filterBuilderPopupPosition: { of: window, at: 'top', my: 'top', offset: { y: 10 } }, filterBuilder: { customOperations: [{ name: 'weekends', caption: 'Weekends', dataTypes: ['date'], icon: 'check', hasValue: false, calculateFilterExpression: () => [[getOrderDay, '=', 0], 'or', [getOrderDay, '=', 6]] }] }, filterValue: [['Employee', '=', 'Clark Morgan'], 'and', ['OrderDate', 'weekends']], saleAmountHeaderFilters: [{ text: 'Less than $3000', value: ['SaleAmount', '<', 3000] }, { text: '$3000 - $5000', value: [['SaleAmount', '>=', 3000], ['SaleAmount', '<', 5000]] }, { text: '$5000 - $10000', value: [['SaleAmount', '>=', 5000], ['SaleAmount', '<', 10000]] }, { text: '$10000 - $20000', value: [['SaleAmount', '>=', 10000], ['SaleAmount', '<', 20000]] }, { text: 'Greater than $20000', value: ['SaleAmount', '>=', 20000] }] }; } }; </script> <style scoped> .demo-container { height: 570px; } #gridContainer { height: 440px; } .dx-filterbuilder-overlay .dx-scrollable-container { max-height: 400px; } </style>
import Vue from 'vue'; import App from './App.vue'; new Vue({ el: '#app', components: { App }, template: '<App/>' });
<!DOCTYPE html> <html> <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" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/19.2.3/css/dx.common.css" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/19.2.3/css/dx.light.css" /> <script src="https://unpkg.com/core-js@2.4.1/client/shim.min.js"></script> <script src="https://unpkg.com/systemjs@0.21.3/dist/system.js"></script> <script type="text/javascript" src="config.js"></script> <script type="text/javascript"> System.import('./index.js'); </script> </head> <body class="dx-viewport"> <div class="demo-container"> <div id="app"> <span v-if="false">Loading...</span> </div> </div> </body> </html>
export const orders = [{ 'ID': 1, 'OrderNumber': 35703, 'OrderDate': '2014/04/10', 'SaleAmount': 11800, 'Terms': '15 Days', 'Employee': 'Harv Mudd', 'CustomerInfo': { 'StoreState': 'California', 'StoreCity': 'Los Angeles' } }, { 'ID': 4, 'OrderNumber': 35711, 'OrderDate': '2014/01/12', 'SaleAmount': 16050, 'Terms': '15 Days', 'Employee': 'Jim Packard', 'CustomerInfo': { 'StoreState': 'California', 'StoreCity': 'San Jose' } }, { 'ID': 5, 'OrderNumber': 35714, 'OrderDate': '2014/01/22', 'SaleAmount': 14750, 'Terms': '15 Days', 'Employee': 'Harv Mudd', 'CustomerInfo': { 'StoreState': 'Nevada', 'StoreCity': 'Las Vegas' } }, { 'ID': 7, 'OrderNumber': 35983, 'OrderDate': '2014/02/07', 'SaleAmount': 3725, 'Terms': '15 Days', 'Employee': 'Todd Hoffman', 'CustomerInfo': { 'StoreState': 'Colorado', 'StoreCity': 'Denver' } }, { 'ID': 9, 'OrderNumber': 36987, 'OrderDate': '2014/03/11', 'SaleAmount': 14200, 'Terms': '15 Days', 'Employee': 'Clark Morgan', 'CustomerInfo': { 'StoreState': 'Utah', 'StoreCity': 'Salt Lake City' } }, { 'ID': 11, 'OrderNumber': 38466, 'OrderDate': '2014/03/01', 'SaleAmount': 7800, 'Terms': '15 Days', 'Employee': 'Harv Mudd', 'CustomerInfo': { 'StoreState': 'California', 'StoreCity': 'Los Angeles' } }, { 'ID': 14, 'OrderNumber': 39420, 'OrderDate': '2014/02/15', 'SaleAmount': 20500, 'Terms': '15 Days', 'Employee': 'Jim Packard', 'CustomerInfo': { 'StoreState': 'California', 'StoreCity': 'San Jose' } }, { 'ID': 15, 'OrderNumber': 39874, 'OrderDate': '2014/02/04', 'SaleAmount': 9050, 'Terms': '30 Days', 'Employee': 'Harv Mudd', 'CustomerInfo': { 'StoreState': 'Nevada', 'StoreCity': 'Las Vegas' } }, { 'ID': 18, 'OrderNumber': 42847, 'OrderDate': '2014/02/15', 'SaleAmount': 20400, 'Terms': '30 Days', 'Employee': 'Todd Hoffman', 'CustomerInfo': { 'StoreState': 'Wyoming', 'StoreCity': 'Casper' } }, { 'ID': 19, 'OrderNumber': 43982, 'OrderDate': '2014/05/29', 'SaleAmount': 6050, 'Terms': '30 Days', 'Employee': 'Clark Morgan', 'CustomerInfo': { 'StoreState': 'Utah', 'StoreCity': 'Salt Lake City' } }, { 'ID': 29, 'OrderNumber': 56272, 'OrderDate': '2014/02/06', 'SaleAmount': 15850, 'Terms': '30 Days', 'Employee': 'Clark Morgan', 'CustomerInfo': { 'StoreState': 'Utah', 'StoreCity': 'Salt Lake City' } }, { 'ID': 30, 'OrderNumber': 57429, 'OrderDate': '2014/05/16', 'SaleAmount': 11050, 'Terms': '30 Days', 'Employee': 'Clark Morgan', 'CustomerInfo': { 'StoreState': 'Arizona', 'StoreCity': 'Phoenix' } }, { 'ID': 32, 'OrderNumber': 58292, 'OrderDate': '2014/05/13', 'SaleAmount': 13500, 'Terms': '15 Days', 'Employee': 'Harv Mudd', 'CustomerInfo': { 'StoreState': 'California', 'StoreCity': 'Los Angeles' } }, { 'ID': 36, 'OrderNumber': 62427, 'OrderDate': '2014/01/27', 'SaleAmount': 23500, 'Terms': '15 Days', 'Employee': 'Harv Mudd', 'CustomerInfo': { 'StoreState': 'Nevada', 'StoreCity': 'Las Vegas' } }, { 'ID': 39, 'OrderNumber': 65977, 'OrderDate': '2014/02/05', 'SaleAmount': 2550, 'Terms': '15 Days', 'Employee': 'Todd Hoffman', 'CustomerInfo': { 'StoreState': 'Wyoming', 'StoreCity': 'Casper' } }, { 'ID': 40, 'OrderNumber': 66947, 'OrderDate': '2014/03/23', 'SaleAmount': 3500, 'Terms': '15 Days', 'Employee': 'Clark Morgan', 'CustomerInfo': { 'StoreState': 'Utah', 'StoreCity': 'Salt Lake City' } }, { 'ID': 42, 'OrderNumber': 68428, 'OrderDate': '2014/04/10', 'SaleAmount': 10500, 'Terms': '15 Days', 'Employee': 'Harv Mudd', 'CustomerInfo': { 'StoreState': 'California', 'StoreCity': 'Los Angeles' } }, { 'ID': 43, 'OrderNumber': 69477, 'OrderDate': '2014/03/09', 'SaleAmount': 14200, 'Terms': '15 Days', 'Employee': 'Harv Mudd', 'CustomerInfo': { 'StoreState': 'California', 'StoreCity': 'Anaheim' } }, { 'ID': 46, 'OrderNumber': 72947, 'OrderDate': '2014/01/14', 'SaleAmount': 13350, 'Terms': '30 Days', 'Employee': 'Harv Mudd', 'CustomerInfo': { 'StoreState': 'Nevada', 'StoreCity': 'Las Vegas' } }, { 'ID': 47, 'OrderNumber': 73088, 'OrderDate': '2014/03/25', 'SaleAmount': 8600, 'Terms': '30 Days', 'Employee': 'Clark Morgan', 'CustomerInfo': { 'StoreState': 'Nevada', 'StoreCity': 'Reno' } }, { 'ID': 50, 'OrderNumber': 76927, 'OrderDate': '2014/04/27', 'SaleAmount': 9800, 'Terms': '30 Days', 'Employee': 'Clark Morgan', 'CustomerInfo': { 'StoreState': 'Utah', 'StoreCity': 'Salt Lake City' } }, { 'ID': 51, 'OrderNumber': 77297, 'OrderDate': '2014/04/30', 'SaleAmount': 10850, 'Terms': '30 Days', 'Employee': 'Clark Morgan', 'CustomerInfo': { 'StoreState': 'Arizona', 'StoreCity': 'Phoenix' } }, { 'ID': 56, 'OrderNumber': 84744, 'OrderDate': '2014/02/10', 'SaleAmount': 4650, 'Terms': '30 Days', 'Employee': 'Harv Mudd', 'CustomerInfo': { 'StoreState': 'Nevada', 'StoreCity': 'Las Vegas' } }, { 'ID': 57, 'OrderNumber': 85028, 'OrderDate': '2014/05/17', 'SaleAmount': 2575, 'Terms': '30 Days', 'Employee': 'Clark Morgan', 'CustomerInfo': { 'StoreState': 'Nevada', 'StoreCity': 'Reno' } }, { 'ID': 59, 'OrderNumber': 87297, 'OrderDate': '2014/04/21', 'SaleAmount': 14200, 'Terms': '30 Days', 'Employee': 'Todd Hoffman', 'CustomerInfo': { 'StoreState': 'Wyoming', 'StoreCity': 'Casper' } }, { 'ID': 60, 'OrderNumber': 88027, 'OrderDate': '2014/02/14', 'SaleAmount': 13650, 'Terms': '30 Days', 'Employee': 'Clark Morgan', 'CustomerInfo': { 'StoreState': 'Utah', 'StoreCity': 'Salt Lake City' } }, { 'ID': 65, 'OrderNumber': 94726, 'OrderDate': '2014/05/22', 'SaleAmount': 20500, 'Terms': '15 Days', 'Employee': 'Jim Packard', 'CustomerInfo': { 'StoreState': 'California', 'StoreCity': 'San Jose' } }, { 'ID': 66, 'OrderNumber': 95266, 'OrderDate': '2014/03/10', 'SaleAmount': 9050, 'Terms': '15 Days', 'Employee': 'Harv Mudd', 'CustomerInfo': { 'StoreState': 'Nevada', 'StoreCity': 'Las Vegas' } }, { 'ID': 69, 'OrderNumber': 98477, 'OrderDate': '2014/01/01', 'SaleAmount': 23500, 'Terms': '15 Days', 'Employee': 'Todd Hoffman', 'CustomerInfo': { 'StoreState': 'Wyoming', 'StoreCity': 'Casper' } }, { 'ID': 70, 'OrderNumber': 99247, 'OrderDate': '2014/02/08', 'SaleAmount': 2100, 'Terms': '15 Days', 'Employee': 'Clark Morgan', 'CustomerInfo': { 'StoreState': 'Utah', 'StoreCity': 'Salt Lake City' } }, { 'ID': 78, 'OrderNumber': 174884, 'OrderDate': '2014/04/10', 'SaleAmount': 7200, 'Terms': '30 Days', 'Employee': 'Todd Hoffman', 'CustomerInfo': { 'StoreState': 'Colorado', 'StoreCity': 'Denver' } }, { 'ID': 81, 'OrderNumber': 188877, 'OrderDate': '2014/02/11', 'SaleAmount': 8750, 'Terms': '30 Days', 'Employee': 'Clark Morgan', 'CustomerInfo': { 'StoreState': 'Arizona', 'StoreCity': 'Phoenix' } }, { 'ID': 82, 'OrderNumber': 191883, 'OrderDate': '2014/02/05', 'SaleAmount': 9900, 'Terms': '30 Days', 'Employee': 'Harv Mudd', 'CustomerInfo': { 'StoreState': 'California', 'StoreCity': 'Los Angeles' } }, { 'ID': 83, 'OrderNumber': 192474, 'OrderDate': '2014/01/21', 'SaleAmount': 12800, 'Terms': '30 Days', 'Employee': 'Harv Mudd', 'CustomerInfo': { 'StoreState': 'California', 'StoreCity': 'Anaheim' } }, { 'ID': 84, 'OrderNumber': 193847, 'OrderDate': '2014/03/21', 'SaleAmount': 14100, 'Terms': '30 Days', 'Employee': 'Harv Mudd', 'CustomerInfo': { 'StoreState': 'California', 'StoreCity': 'San Diego' } }, { 'ID': 85, 'OrderNumber': 194877, 'OrderDate': '2014/03/06', 'SaleAmount': 4750, 'Terms': '30 Days', 'Employee': 'Jim Packard', 'CustomerInfo': { 'StoreState': 'California', 'StoreCity': 'San Jose' } }, { 'ID': 86, 'OrderNumber': 195746, 'OrderDate': '2014/05/26', 'SaleAmount': 9050, 'Terms': '30 Days', 'Employee': 'Harv Mudd', 'CustomerInfo': { 'StoreState': 'Nevada', 'StoreCity': 'Las Vegas' } }, { 'ID': 87, 'OrderNumber': 197474, 'OrderDate': '2014/03/02', 'SaleAmount': 6400, 'Terms': '30 Days', 'Employee': 'Clark Morgan', 'CustomerInfo': { 'StoreState': 'Nevada', 'StoreCity': 'Reno' } }, { 'ID': 88, 'OrderNumber': 198746, 'OrderDate': '2014/05/09', 'SaleAmount': 15700, 'Terms': '30 Days', 'Employee': 'Todd Hoffman', 'CustomerInfo': { 'StoreState': 'Colorado', 'StoreCity': 'Denver' } }, { 'ID': 91, 'OrderNumber': 214222, 'OrderDate': '2014/02/08', 'SaleAmount': 11050, 'Terms': '30 Days', 'Employee': 'Clark Morgan', 'CustomerInfo': { 'StoreState': 'Arizona', 'StoreCity': 'Phoenix' } }];
System.config({ transpiler: 'plugin-babel', paths: { 'npm:': 'https://unpkg.com/' }, map: { vue: 'npm:vue@2.6.3/dist/vue.esm.browser.js', 'vue-loader': 'npm:dx-systemjs-vue-browser@latest/index.js', 'devextreme': 'npm:devextreme@19.2', 'devextreme-vue': 'npm:devextreme-vue@19.2', jszip: 'npm:jszip@3.1.3/dist/jszip.min.js', 'quill': 'npm:quill@1.3.7/dist/quill.js', 'devexpress-diagram': 'npm:devexpress-diagram', 'devexpress-gantt': 'npm:devexpress-gantt', 'plugin-babel': 'npm:systemjs-plugin-babel@0/plugin-babel.js', 'systemjs-babel-build': 'npm:systemjs-plugin-babel@0/systemjs-babel-browser.js' }, meta: { '*.vue': { loader: 'vue-loader' } }, packages: { 'devextreme-vue': { main: 'index.js' }, 'devextreme': { defaultExtension: 'js' } }, babelOptions: { sourceMaps: false, stage0: true } });