-
Data Grid
- Overview
-
Data Binding
-
Paging and Scrolling
-
Editing
-
Grouping
-
Filtering and Sorting
- Focused Row
-
Row Drag & Drop
-
Selection
-
Columns
- State Persistence
-
Appearance
-
Templates
-
Data Summaries
-
Master-Detail
-
Export to PDF
-
Export to Excel
-
Adaptability
- Keyboard Navigation
-
Pivot Grid
- Overview
-
Data Binding
-
Field Chooser
-
Features
-
Export to Excel
-
Tree List
- Overview
-
Data Binding
- Sorting
- Paging
-
Editing
- Node Drag & Drop
- Focused Row
-
Selection
-
Filtering
-
Column Customization
- State Persistence
- Adaptability
- Keyboard Navigation
-
Scheduler
- Overview
-
Data Binding
-
Views
-
Features
- Virtual Scrolling
-
Grouping
-
Customization
- Adaptability
-
Html Editor
-
Chat
-
Diagram
- Overview
-
Data Binding
-
Featured Shapes
-
Custom Shapes
-
Document Capabilities
-
User Interaction
- UI Customization
- Adaptability
-
Charts
- Overview
-
Data Binding
-
Area Charts
-
Bar Charts
- Bullet Charts
-
Doughnut Charts
-
Financial Charts
-
Line Charts
-
Pie Charts
-
Point Charts
-
Polar and Radar Charts
-
Range Charts
-
Sparkline Charts
-
Tree Map
-
Funnel and Pyramid Charts
- Sankey Chart
-
Combinations
-
More Features
-
Export
-
Selection
-
Tooltips
-
Zooming
-
-
Gantt
- Overview
-
Data
-
UI Customization
- Strip Lines
- Export to PDF
- Sorting
-
Filtering
-
Gauges
- Overview
-
Data Binding
-
Bar Gauge
-
Circular Gauge
-
Linear Gauge
-
Navigation
- Overview
- Accordion
-
Menu
- Multi View
-
Drawer
-
Tab Panel
-
Tabs
-
Toolbar
- Pagination
-
Tree View
- Right-to-Left Support
-
Layout
-
Tile View
- Splitter
-
Gallery
- Scroll View
- Resizable
-
-
Editors
- Overview
- Autocomplete
-
Calendar
- Check Box
- Color Box
- Date Box
-
Date Range Box
-
Drop Down Box
-
Number Box
-
Select Box
- Switch
-
Tag Box
- Text Area
- Text Box
- Validation
- Custom Text Editor Buttons
- Right-to-Left Support
- Editor Appearance Variants
-
Forms and Multi-Purpose
- Overview
- Button Group
- Field Set
-
Filter Builder
-
Form
- Radio Group
-
Range Selector
- Numeric Scale (Lightweight)
- Numeric Scale
- Date-Time Scale (Lightweight)
- Date-Time Scale
- Logarithmic Scale
- Discrete scale
- Custom Formatting
- Use Range Selection for Calculation
- Use Range Selection for Filtering
- Image on Background
- Chart on Background
- Customized Chart on Background
- Chart on Background with Series Template
- Range Slider
- Slider
-
Sortable
-
File Management
-
File Manager
- Overview
-
File System Types
-
Customization
-
File Uploader
-
-
Actions and Lists
-
Maps
- Overview
-
Map
-
Vector Map
-
Dialogs and Notifications
-
Localization
Pivot Grid - Chart Integration
PivotGrid allows you to integrate the Chart component to visualize data. The Chart is synchronized with the PivotGrid and visualizes the currently displayed total summary values. Expand a row or column header in the PivotGrid below to see how it works.
If you have technical questions, please create a support ticket in the DevExpress Support Center.
@using DevExtreme.MVC.Demos.Models
<div id="pivotgrid-demo">
@(Html.DevExtreme().Chart()
.ID("pivotgrid-chart")
.CommonSeriesSettings(s => s.Type(SeriesType.Bar))
.Tooltip(t => t.Enabled(true).CustomizeTooltip("customize_tooltip"))
.Size(s => s.Height(320))
.AdaptiveLayout(l => l.Width(450))
)
@(Html.DevExtreme().PivotGrid<Sale>()
.ID("pivotgrid")
.AllowSortingBySummary(true)
.AllowFiltering(true)
.ShowBorders(true)
.ShowColumnGrandTotals(false)
.ShowRowGrandTotals(false)
.ShowRowTotals(false)
.ShowColumnTotals(false)
.FieldChooser(c => c.Enabled(true))
.DataSource(d => d
.Store(s => s.WebApi().Controller("PivotGridData"))
.Fields(fields => {
fields.AddFor(m => m.Region)
.Width(120)
.Area(PivotGridArea.Row)
.SortBySummaryField("Total");
fields.AddFor(m => m.City)
.Width(150)
.Area(PivotGridArea.Row);
fields.AddFor(m => m.Date)
.Area(PivotGridArea.Column);
fields.Add()
.GroupName("Date")
.GroupInterval(PivotGridGroupInterval.Month)
.Visible(false);
fields.AddFor(m => m.Amount)
.SummaryType(SummaryType.Sum)
.Format(Format.Currency)
.Area(PivotGridArea.Data);
fields.Add()
.SummaryType(SummaryType.Count)
.Area(PivotGridArea.Data);
})
)
.OnContentReady("bind_chart")
)
</div>
<script>
function formatCurrency(value) {
return "$" + new Intl.NumberFormat("en-US", { maximumFractionDigits: 0 }).format(value);
}
function customize_tooltip(args) {
var valueText = (args.seriesName.indexOf("Total") != -1)
? formatCurrency(args.originalValue)
: args.originalValue;
return {
html: args.seriesName + "<div class='currency'>"
+ valueText + "</div>"
};
}
function bind_chart(e) {
e.component.bindChart($("#pivotgrid-chart"), {
dataFieldsDisplayMode: "splitPanes",
alternateDataFields: false
});
}
</script>
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
Bind the Chart to the PivotGrid
To bind these two components, create a Chart and pass its instance as the first argument to the PivotGrid's bindChart(chart, integrationOptions) method. You can call this method at any point in your application. In this demo, we call it after view is initialized / component is mounted.
If you specify only the first argument and omit integrationOptions, default settings are in effect: row and column field values constitute chart series and arguments, respectively. The Chart displays values of each data field on a separate value axis. If you need to customize the resulting chart, specify the integrationOptions argument.
Convert PivotGrid Fields to Chart Series
You can use the following integrationOptions to specify how PivotGrid fields should be converted to chart series:
-
putDataFieldsInto: "series" | "args"
- "series" - Data fields constitute chart series.
- "args" - Data fields constitute chart arguments.
-
alternateDataFields: Boolean
Specifies whether to alternate data fields in the resulting chart. This demo sets this field to false. -
dataFieldsDisplayMode: "singleAxis" | "splitAxes" | "splitPanes"
- "singleAxis" - All data field values are displayed on a single value axis.
- "splitAxes" - Each data field has an individual value axis. Applies only if putDataFieldsInto is "series".
- "splitPanes" - Each data field has an individual pane. Applies only if putDataFieldsInto is "series".
dataFieldsDisplayMode applies only if the PivotGrid contains several data fields. In this demo, the dataFieldsDisplayMode field is set to "splitPanes".
-
inverted: Boolean
If false, row field values constitute series and column field values form the chart arguments. If true - vice versa.
Advanced Customization
The integrationOptions object can also contain the following functions that allow you to process PivotGrid data before visualization and customize the Chart and its series:
-
processCell
Processes a PivotGrid cell's data before the Chart displays it. -
customizeChart
Allows you to customize the Chart's appearance. -
customizeSeries
Allows you to customize the Chart's series.
Refer to the bindChart(chart, integrationOptions) method description for more information on these functions.