DevExtreme v25.1 is now available.

Explore our newest features/capabilities and share your thoughts with us.

Your search did not match any results.

React Card View - Column Header Filter

DevExtreme CardView includes a header used to filter cards by field values. Click the filter icon in the field's header panel to open the pop-up CardView filter.

Backend API
import React from 'react'; import CardView, { Column, HeaderFilter, ColumnHeaderFilter, ColumnHeaderFilterSearch } from 'devextreme-react/card-view'; import { orders, Order } from './data.ts'; function getOrderDay(rowData: Order) { return new Date(rowData.OrderDate).getDay(); } function calculateOrderDateFilterExpression(value, selectedFilterOperations, target) { if (value === 'weekends') { return [[getOrderDay, '=', 0], 'or', [getOrderDay, '=', 6]]; } return this.defaultCalculateFilterExpression(value, selectedFilterOperations, target); } const saleAmountHeaderFilterDataSource = [ { 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], }, ]; function orderDateHeaderFilterDataSource(data) { data.dataSource.postProcess = function (results) { results.push({ text: 'Weekends', value: 'weekends', }); return results; }; }; const App = () => ( <CardView dataSource={orders} keyExpr="OrderNumber" cardsPerRow="auto" cardMinWidth={280} wordWrapEnabled={true} > <HeaderFilter visible={true} /> <Column dataField="OrderNumber" > <ColumnHeaderFilter groupInterval={10000} /> </Column> <Column dataField="OrderDate" dataType="date" calculateFilterExpression={calculateOrderDateFilterExpression} > <ColumnHeaderFilter dataSource={orderDateHeaderFilterDataSource} /> </Column> <Column dataField="SaleAmount" dataType="number" > <ColumnHeaderFilter dataSource={saleAmountHeaderFilterDataSource} /> </Column> <Column dataField="StoreCity" > <ColumnHeaderFilter> <ColumnHeaderFilterSearch enabled={true} editorOptions={{ placeholder: 'Search city or state', }} searchExpr={['StoreCity', 'StoreState']} /> </ColumnHeaderFilter> </Column> <Column dataField="StoreState" > <ColumnHeaderFilter> <ColumnHeaderFilterSearch enabled={true} editorOptions={{ placeholder: 'Search state or city', }} searchExpr={['StoreState', 'StoreCity']} /> </ColumnHeaderFilter> </Column> <Column dataField="Employee" /> </CardView> ); export default App;
import React from 'react'; import CardView, { Column, HeaderFilter, ColumnHeaderFilter, ColumnHeaderFilterSearch, } from 'devextreme-react/card-view'; import { orders } from './data.js'; function getOrderDay(rowData) { return new Date(rowData.OrderDate).getDay(); } function calculateOrderDateFilterExpression(value, selectedFilterOperations, target) { if (value === 'weekends') { return [[getOrderDay, '=', 0], 'or', [getOrderDay, '=', 6]]; } return this.defaultCalculateFilterExpression(value, selectedFilterOperations, target); } const saleAmountHeaderFilterDataSource = [ { 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], }, ]; function orderDateHeaderFilterDataSource(data) { data.dataSource.postProcess = function(results) { results.push({ text: 'Weekends', value: 'weekends', }); return results; }; } const App = () => ( <CardView dataSource={orders} keyExpr="OrderNumber" cardsPerRow="auto" cardMinWidth={280} wordWrapEnabled={true} > <HeaderFilter visible={true} /> <Column dataField="OrderNumber"> <ColumnHeaderFilter groupInterval={10000} /> </Column> <Column dataField="OrderDate" dataType="date" calculateFilterExpression={calculateOrderDateFilterExpression} > <ColumnHeaderFilter dataSource={orderDateHeaderFilterDataSource} /> </Column> <Column dataField="SaleAmount" dataType="number" > <ColumnHeaderFilter dataSource={saleAmountHeaderFilterDataSource} /> </Column> <Column dataField="StoreCity"> <ColumnHeaderFilter> <ColumnHeaderFilterSearch enabled={true} editorOptions={{ placeholder: 'Search city or state', }} searchExpr={['StoreCity', 'StoreState']} /> </ColumnHeaderFilter> </Column> <Column dataField="StoreState"> <ColumnHeaderFilter> <ColumnHeaderFilterSearch enabled={true} editorOptions={{ placeholder: 'Search state or city', }} searchExpr={['StoreState', 'StoreCity']} /> </ColumnHeaderFilter> </Column> <Column dataField="Employee" /> </CardView> ); export default App;
import React from 'react'; import ReactDOM from 'react-dom'; import App from './App.tsx'; ReactDOM.render( <App />, document.getElementById('app'), );
export interface Order { OrderNumber: number; SaleAmount: number; StoreCity: string; StoreState: string; Employee: string; OrderDate: string; } export const orders: Order[] = [{ OrderNumber: 35703, SaleAmount: 11800, StoreCity: 'Los Angeles', StoreState: 'California', Employee: 'Harv Mudd', OrderDate: '2014/04/10', }, { OrderNumber: 35711, OrderDate: '2014/01/12', SaleAmount: 16050, StoreState: 'California', StoreCity: 'San Jose', Employee: 'Jim Packard', }, { OrderNumber: 35714, OrderDate: '2014/01/22', SaleAmount: 14750, StoreState: 'Nevada', StoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { OrderNumber: 35983, OrderDate: '2014/02/07', SaleAmount: 3725, StoreState: 'Colorado', StoreCity: 'Denver', Employee: 'Todd Hoffman', }, { OrderNumber: 36987, OrderDate: '2014/03/11', SaleAmount: 14200, StoreState: 'Utah', StoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { OrderNumber: 38466, OrderDate: '2014/03/01', SaleAmount: 7800, StoreState: 'California', StoreCity: 'Los Angeles', Employee: 'Harv Mudd', }, { OrderNumber: 39420, OrderDate: '2014/02/15', SaleAmount: 20500, StoreState: 'California', StoreCity: 'San Jose', Employee: 'Jim Packard', }, { OrderNumber: 39874, OrderDate: '2014/02/04', SaleAmount: 9050, StoreState: 'Nevada', StoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { OrderNumber: 42847, OrderDate: '2014/02/15', SaleAmount: 20400, StoreState: 'Wyoming', StoreCity: 'Casper', Employee: 'Todd Hoffman', }, { OrderNumber: 43982, OrderDate: '2014/05/29', SaleAmount: 6050, StoreState: 'Utah', StoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { OrderNumber: 56272, OrderDate: '2014/05/16', SaleAmount: 15850, StoreState: 'Utah', StoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { OrderNumber: 57429, OrderDate: '2014/04/11', SaleAmount: 11050, StoreState: 'Arizona', StoreCity: 'Phoenix', Employee: 'Clark Morgan', }, { OrderNumber: 58292, OrderDate: '2014/04/05', SaleAmount: 13500, StoreState: 'California', StoreCity: 'Los Angeles', Employee: 'Harv Mudd', }, { OrderNumber: 62427, OrderDate: '2014/05/17', SaleAmount: 23500, StoreState: 'Nevada', StoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { OrderNumber: 65977, OrderDate: '2014/02/13', SaleAmount: 2550, StoreState: 'Wyoming', StoreCity: 'Casper', Employee: 'Todd Hoffman', }, { OrderNumber: 66947, OrderDate: '2014/01/06', SaleAmount: 3500, StoreState: 'Utah', StoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { OrderNumber: 68428, OrderDate: '2014/03/13', SaleAmount: 10500, StoreState: 'California', StoreCity: 'Los Angeles', Employee: 'Harv Mudd', }, { OrderNumber: 69477, OrderDate: '2014/01/22', SaleAmount: 14200, StoreState: 'California', StoreCity: 'Anaheim', Employee: 'Harv Mudd', }, { OrderNumber: 72947, OrderDate: '2014/03/05', SaleAmount: 13350, StoreState: 'Nevada', StoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { OrderNumber: 73088, OrderDate: '2014/01/21', SaleAmount: 8600, StoreState: 'Nevada', StoreCity: 'Reno', Employee: 'Clark Morgan', }, { OrderNumber: 76927, OrderDate: '2014/04/04', SaleAmount: 9800, StoreState: 'Utah', StoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { OrderNumber: 77297, OrderDate: '2014/01/07', SaleAmount: 10850, StoreState: 'Arizona', StoreCity: 'Phoenix', Employee: 'Clark Morgan', }, { OrderNumber: 84744, OrderDate: '2014/05/20', SaleAmount: 4650, StoreState: 'Nevada', StoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { OrderNumber: 85028, OrderDate: '2014/02/08', SaleAmount: 2575, StoreState: 'Nevada', StoreCity: 'Reno', Employee: 'Clark Morgan', }, { OrderNumber: 87297, OrderDate: '2014/04/08', SaleAmount: 14200, StoreState: 'Wyoming', StoreCity: 'Casper', Employee: 'Todd Hoffman', }, { OrderNumber: 88027, OrderDate: '2014/05/18', SaleAmount: 13650, StoreState: 'Utah', StoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { OrderNumber: 94726, OrderDate: '2014/02/23', SaleAmount: 20500, StoreState: 'California', StoreCity: 'San Jose', Employee: 'Jim Packard', }, { OrderNumber: 95266, OrderDate: '2014/03/18', SaleAmount: 9050, StoreState: 'Nevada', StoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { OrderNumber: 98477, OrderDate: '2014/05/08', SaleAmount: 23500, StoreState: 'Wyoming', StoreCity: 'Casper', Employee: 'Todd Hoffman', }, { OrderNumber: 99247, OrderDate: '2014/02/27', SaleAmount: 2100, StoreState: 'Utah', StoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { OrderNumber: 174884, OrderDate: '2014/03/03', SaleAmount: 7200, StoreState: 'Colorado', StoreCity: 'Denver', Employee: 'Todd Hoffman', }, { OrderNumber: 188877, OrderDate: '2014/02/14', SaleAmount: 8750, StoreState: 'Arizona', StoreCity: 'Phoenix', Employee: 'Clark Morgan', }, { OrderNumber: 191883, OrderDate: '2014/02/28', SaleAmount: 9900, StoreState: 'California', StoreCity: 'Los Angeles', Employee: 'Harv Mudd', }, { OrderNumber: 192474, OrderDate: '2014/02/18', SaleAmount: 12800, StoreState: 'California', StoreCity: 'Anaheim', Employee: 'Harv Mudd', }, { OrderNumber: 193847, OrderDate: '2014/05/06', SaleAmount: 14100, StoreState: 'California', StoreCity: 'San Diego', Employee: 'Harv Mudd', }, { OrderNumber: 194877, OrderDate: '2014/03/17', SaleAmount: 4750, StoreState: 'California', StoreCity: 'San Jose', Employee: 'Jim Packard', }, { OrderNumber: 195746, OrderDate: '2014/02/04', SaleAmount: 9050, StoreState: 'Nevada', StoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { OrderNumber: 197474, OrderDate: '2014/01/17', SaleAmount: 6400, StoreState: 'Nevada', StoreCity: 'Reno', Employee: 'Clark Morgan', }, { OrderNumber: 198746, OrderDate: '2014/02/04', SaleAmount: 15700, StoreState: 'Colorado', StoreCity: 'Denver', Employee: 'Todd Hoffman', }, { OrderNumber: 214222, OrderDate: '2014/02/03', SaleAmount: 11050, StoreState: 'Arizona', StoreCity: 'Phoenix', Employee: 'Clark Morgan', }];
window.exports = window.exports || {}; window.config = { transpiler: 'ts', typescriptOptions: { module: 'system', emitDecoratorMetadata: true, experimentalDecorators: true, jsx: 'react', }, meta: { 'react': { 'esModule': true, }, 'typescript': { 'exports': 'ts', }, 'devextreme/time_zone_utils.js': { 'esModule': true, }, 'devextreme/localization.js': { 'esModule': true, }, 'devextreme/viz/palette.js': { 'esModule': true, }, 'openai': { 'esModule': true, }, }, paths: { 'npm:': 'https://cdn.jsdelivr.net/npm/', 'bundles:': '../../../../bundles/', 'externals:': '../../../../bundles/externals/', }, defaultExtension: 'js', map: { 'ts': 'npm:plugin-typescript@8.0.0/lib/plugin.js', 'typescript': 'npm:typescript@4.2.4/lib/typescript.js', 'jszip': 'npm:jszip@3.10.1/dist/jszip.min.js', 'react': 'npm:react@17.0.2/umd/react.development.js', 'react-dom': 'npm:react-dom@17.0.2/umd/react-dom.development.js', 'prop-types': 'npm:prop-types/prop-types.js', 'rrule': 'npm:rrule@2.6.4/dist/es5/rrule.js', 'luxon': 'npm:luxon@3.4.4/build/global/luxon.min.js', 'es6-object-assign': 'npm:es6-object-assign', 'devextreme': 'npm:devextreme@25.1.3/cjs', 'devextreme-react': 'npm:devextreme-react@25.1.3/cjs', 'devextreme-quill': 'npm:devextreme-quill@1.7.3/dist/dx-quill.min.js', 'devexpress-diagram': 'npm:devexpress-diagram@2.2.19/dist/dx-diagram.js', 'devexpress-gantt': 'npm:devexpress-gantt@4.1.62/dist/dx-gantt.js', 'inferno': 'npm:inferno@8.2.3/dist/inferno.min.js', 'inferno-compat': 'npm:inferno-compat/dist/inferno-compat.min.js', 'inferno-create-element': 'npm:inferno-create-element@8.2.3/dist/inferno-create-element.min.js', 'inferno-dom': 'npm:inferno-dom/dist/inferno-dom.min.js', 'inferno-hydrate': 'npm:inferno-hydrate/dist/inferno-hydrate.min.js', 'inferno-clone-vnode': 'npm:inferno-clone-vnode/dist/inferno-clone-vnode.min.js', 'inferno-create-class': 'npm:inferno-create-class/dist/inferno-create-class.min.js', 'inferno-extras': 'npm:inferno-extras/dist/inferno-extras.min.js', '@preact/signals-core': 'npm:@preact/signals-core@1.8.0/dist/signals-core.min.js', 'devextreme-cldr-data': 'npm:devextreme-cldr-data@1.0.3', // SystemJS plugins 'plugin-babel': 'npm:systemjs-plugin-babel@0.0.25/plugin-babel.js', 'systemjs-babel-build': 'npm:systemjs-plugin-babel@0.0.25/systemjs-babel-browser.js', // Prettier 'prettier/standalone': 'npm:prettier@2.8.8/standalone.js', 'prettier/parser-html': 'npm:prettier@2.8.8/parser-html.js', }, packages: { 'devextreme': { defaultExtension: 'js', }, 'devextreme-react': { main: 'index.js', }, 'devextreme-react/common': { main: 'index.js', }, 'devextreme/events/utils': { main: 'index', }, 'devextreme/common/core/events/utils': { main: 'index', }, 'devextreme/localization/messages': { format: 'json', defaultExtension: 'json', }, 'devextreme/events': { main: 'index', }, 'es6-object-assign': { main: './index.js', defaultExtension: 'js', }, }, packageConfigPaths: [ 'npm:@devextreme/*/package.json', ], babelOptions: { sourceMaps: false, stage0: true, react: true, }, }; System.config(window.config);
import React from 'react'; import ReactDOM from 'react-dom'; import App from './App.js'; ReactDOM.render(<App />, document.getElementById('app'));
export const orders = [ { OrderNumber: 35703, SaleAmount: 11800, StoreCity: 'Los Angeles', StoreState: 'California', Employee: 'Harv Mudd', OrderDate: '2014/04/10', }, { OrderNumber: 35711, OrderDate: '2014/01/12', SaleAmount: 16050, StoreState: 'California', StoreCity: 'San Jose', Employee: 'Jim Packard', }, { OrderNumber: 35714, OrderDate: '2014/01/22', SaleAmount: 14750, StoreState: 'Nevada', StoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { OrderNumber: 35983, OrderDate: '2014/02/07', SaleAmount: 3725, StoreState: 'Colorado', StoreCity: 'Denver', Employee: 'Todd Hoffman', }, { OrderNumber: 36987, OrderDate: '2014/03/11', SaleAmount: 14200, StoreState: 'Utah', StoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { OrderNumber: 38466, OrderDate: '2014/03/01', SaleAmount: 7800, StoreState: 'California', StoreCity: 'Los Angeles', Employee: 'Harv Mudd', }, { OrderNumber: 39420, OrderDate: '2014/02/15', SaleAmount: 20500, StoreState: 'California', StoreCity: 'San Jose', Employee: 'Jim Packard', }, { OrderNumber: 39874, OrderDate: '2014/02/04', SaleAmount: 9050, StoreState: 'Nevada', StoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { OrderNumber: 42847, OrderDate: '2014/02/15', SaleAmount: 20400, StoreState: 'Wyoming', StoreCity: 'Casper', Employee: 'Todd Hoffman', }, { OrderNumber: 43982, OrderDate: '2014/05/29', SaleAmount: 6050, StoreState: 'Utah', StoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { OrderNumber: 56272, OrderDate: '2014/05/16', SaleAmount: 15850, StoreState: 'Utah', StoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { OrderNumber: 57429, OrderDate: '2014/04/11', SaleAmount: 11050, StoreState: 'Arizona', StoreCity: 'Phoenix', Employee: 'Clark Morgan', }, { OrderNumber: 58292, OrderDate: '2014/04/05', SaleAmount: 13500, StoreState: 'California', StoreCity: 'Los Angeles', Employee: 'Harv Mudd', }, { OrderNumber: 62427, OrderDate: '2014/05/17', SaleAmount: 23500, StoreState: 'Nevada', StoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { OrderNumber: 65977, OrderDate: '2014/02/13', SaleAmount: 2550, StoreState: 'Wyoming', StoreCity: 'Casper', Employee: 'Todd Hoffman', }, { OrderNumber: 66947, OrderDate: '2014/01/06', SaleAmount: 3500, StoreState: 'Utah', StoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { OrderNumber: 68428, OrderDate: '2014/03/13', SaleAmount: 10500, StoreState: 'California', StoreCity: 'Los Angeles', Employee: 'Harv Mudd', }, { OrderNumber: 69477, OrderDate: '2014/01/22', SaleAmount: 14200, StoreState: 'California', StoreCity: 'Anaheim', Employee: 'Harv Mudd', }, { OrderNumber: 72947, OrderDate: '2014/03/05', SaleAmount: 13350, StoreState: 'Nevada', StoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { OrderNumber: 73088, OrderDate: '2014/01/21', SaleAmount: 8600, StoreState: 'Nevada', StoreCity: 'Reno', Employee: 'Clark Morgan', }, { OrderNumber: 76927, OrderDate: '2014/04/04', SaleAmount: 9800, StoreState: 'Utah', StoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { OrderNumber: 77297, OrderDate: '2014/01/07', SaleAmount: 10850, StoreState: 'Arizona', StoreCity: 'Phoenix', Employee: 'Clark Morgan', }, { OrderNumber: 84744, OrderDate: '2014/05/20', SaleAmount: 4650, StoreState: 'Nevada', StoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { OrderNumber: 85028, OrderDate: '2014/02/08', SaleAmount: 2575, StoreState: 'Nevada', StoreCity: 'Reno', Employee: 'Clark Morgan', }, { OrderNumber: 87297, OrderDate: '2014/04/08', SaleAmount: 14200, StoreState: 'Wyoming', StoreCity: 'Casper', Employee: 'Todd Hoffman', }, { OrderNumber: 88027, OrderDate: '2014/05/18', SaleAmount: 13650, StoreState: 'Utah', StoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { OrderNumber: 94726, OrderDate: '2014/02/23', SaleAmount: 20500, StoreState: 'California', StoreCity: 'San Jose', Employee: 'Jim Packard', }, { OrderNumber: 95266, OrderDate: '2014/03/18', SaleAmount: 9050, StoreState: 'Nevada', StoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { OrderNumber: 98477, OrderDate: '2014/05/08', SaleAmount: 23500, StoreState: 'Wyoming', StoreCity: 'Casper', Employee: 'Todd Hoffman', }, { OrderNumber: 99247, OrderDate: '2014/02/27', SaleAmount: 2100, StoreState: 'Utah', StoreCity: 'Salt Lake City', Employee: 'Clark Morgan', }, { OrderNumber: 174884, OrderDate: '2014/03/03', SaleAmount: 7200, StoreState: 'Colorado', StoreCity: 'Denver', Employee: 'Todd Hoffman', }, { OrderNumber: 188877, OrderDate: '2014/02/14', SaleAmount: 8750, StoreState: 'Arizona', StoreCity: 'Phoenix', Employee: 'Clark Morgan', }, { OrderNumber: 191883, OrderDate: '2014/02/28', SaleAmount: 9900, StoreState: 'California', StoreCity: 'Los Angeles', Employee: 'Harv Mudd', }, { OrderNumber: 192474, OrderDate: '2014/02/18', SaleAmount: 12800, StoreState: 'California', StoreCity: 'Anaheim', Employee: 'Harv Mudd', }, { OrderNumber: 193847, OrderDate: '2014/05/06', SaleAmount: 14100, StoreState: 'California', StoreCity: 'San Diego', Employee: 'Harv Mudd', }, { OrderNumber: 194877, OrderDate: '2014/03/17', SaleAmount: 4750, StoreState: 'California', StoreCity: 'San Jose', Employee: 'Jim Packard', }, { OrderNumber: 195746, OrderDate: '2014/02/04', SaleAmount: 9050, StoreState: 'Nevada', StoreCity: 'Las Vegas', Employee: 'Harv Mudd', }, { OrderNumber: 197474, OrderDate: '2014/01/17', SaleAmount: 6400, StoreState: 'Nevada', StoreCity: 'Reno', Employee: 'Clark Morgan', }, { OrderNumber: 198746, OrderDate: '2014/02/04', SaleAmount: 15700, StoreState: 'Colorado', StoreCity: 'Denver', Employee: 'Todd Hoffman', }, { OrderNumber: 214222, OrderDate: '2014/02/03', SaleAmount: 11050, StoreState: 'Arizona', StoreCity: 'Phoenix', Employee: 'Clark Morgan', }, ];
<!DOCTYPE html> <html lang="en"> <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=5.0" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/25.1.3/css/dx.light.css" /> <script src="https://cdn.jsdelivr.net/npm/core-js@2.6.12/client/shim.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/systemjs@0.21.3/dist/system.js"></script> <script type="text/javascript" src="config.js"></script> <script type="text/javascript"> System.import("./index.tsx"); </script> <link rel="stylesheet" type="text/css" href="styles.css" /> </head> <body class="dx-viewport"> <div class="demo-container"> <div id="app"></div> </div> </body> </html>

Display Header Filter Icons

Assign true to the headerFilter.visible property to allow users to filter CardView fields with header icons. To hide the icon for a specific column, set columns.allowHeaderFiltering to false.

Enable Search UI Within Header Filters

DevExtreme CardView supports text-based search (to find specific values in a header filter). Define the search property in the headerFilter object or a columns.headerFilter object to configure this capability.

The search panel checks for values only within the same data field. To expand search to additional fields, use the search.searchExpr property. For example, this demo allows you to enter a state name in the City column's header filter. You can then see a list of all cities within the specified state and select city names that you want to use as a filter.

To apply a comparison operation (used to search header filter values), specify the search.mode property.