Your search did not match any results.
Pivot Grid

Integrated Field Chooser

Documentation

The field chooser is a pivot grid element that allows you to manage the displayed fields. You can invoke it by clicking the Field Chooser icon at the top-left corner or by selecting the "Show Field Chooser" command on the PivotGrid's context menu. Changes made in the field chooser can be applied to the PivotGrid in instant or on-demand mode. In the latter case, the field chooser is supplied with the OK and Cancel buttons.

Copy to CodeSandBox
Apply
Reset
<template> <div> <dx-pivot-grid ref="grid" :data-source="dataSource" :allow-sorting-by-summary="true" :allow-sorting="true" :allow-filtering="true" :show-borders="true" :height="470" > <dx-field-chooser :enabled="true" :allow-search="true" :apply-changes-mode="applyChangesMode" /> </dx-pivot-grid> <div class="options"> <div class="caption">Options</div> <div class="option"> <span>Apply Changes Mode:</span> <dx-select-box :items="applyChangesModes" :width="180" :value.sync="applyChangesMode" /> </div> </div> </div> </template> <script> import { DxPivotGrid, DxFieldChooser } from 'devextreme-vue/pivot-grid'; import { DxSelectBox } from 'devextreme-vue/select-box'; export default { components: { DxPivotGrid, DxFieldChooser, DxSelectBox }, data() { return { dataSource: { fields: [ { dataField: '[Product].[Category]', area: 'row' }, { dataField: '[Product].[Subcategory]', area: 'row', headerFilter: { allowSearch: true } }, { dataField: '[Ship Date].[Calendar Year]', area: 'column' }, { dataField: '[Ship Date].[Month of Year]', area: 'column' }, { dataField: '[Measures].[Customer Count]', area: 'data' } ], store: { type: 'xmla', url: 'https://demos.devexpress.com/Services/OLAP/msmdpump.dll', catalog: 'Adventure Works DW Standard Edition', cube: 'Adventure Works' } }, applyChangesModes: ['instantly', 'onDemand'], applyChangesMode: 'instantly' }; } }; </script> <style> .options { padding: 20px; background-color: rgba(191, 191, 191, 0.15); margin-top: 20px; } .caption { font-size: 18px; font-weight: 500; } .option { margin-top: 10px; } .dx-selectbox { margin-top: 5px; } </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/18.2.7/css/dx.common.css" /> <link rel="dx-theme" data-theme="generic.light" href="https://cdn3.devexpress.com/jslib/18.2.7/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>
System.config({ transpiler: 'plugin-babel', paths: { 'npm:': 'https://unpkg.com/' }, map: { vue: 'npm:vue@2.5.16/dist/vue.esm.browser.js', 'vue-loader': 'npm:systemjs-vue-browser@latest/index.js', 'devextreme': 'npm:devextreme@18.2', 'devextreme-vue': 'npm:devextreme-vue@18.2', jszip: 'npm:jszip@3.1.3/dist/jszip.min.js', 'quill': 'npm:quill@1.3.6/dist/quill.js', '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 } });