[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Collapse]WPF Controls
 [Expand]What's Installed
 [Expand].NET Core 3 Support
 [Expand]Common Concepts
 [Expand]MVVM Framework
 [Collapse]Controls and Libraries
  [Expand]Data Grid
  [Expand]Ribbon, Bars and Menu
  [Collapse]Charts Suite
   [Collapse]Chart Control
    [Expand]Getting Started
    [Collapse]Providing Data
      Create a Series Manually
      Add Points to a Series Manually
      Bind a Series to a Data Source
      Define a Template for Automatic Series
      Provide Data for the Drill Mode
      Best Practices: Display Large Data
      Series Scale Types
      Data Aggregation
      Calculate Summaries
      Data Filtering
      Work Time and Workday Configuration
      Top N and Others
      Empty Points
    [Expand]Chart Elements
    [Expand]Appearance Customization
    [Expand]End-User Features
    [Expand]Design-Time Features
    [Expand]Additional Resources
   [Expand]Chart3D Control
  [Expand]Pivot Grid
  [Expand]Rich Text Editor
  [Expand]Tree List
  [Expand]Gauge Controls
  [Expand]Map Control
  [Expand]Layout Management
  [Expand]Windows Modern UI
  [Expand]Data Editors
  [Expand]Navigation Controls
  [Expand]Spell Checker
  [Expand]Property Grid
  [Expand]PDF Viewer
  [Expand]TreeMap Control
  [Expand]Gantt Control
  [Expand]Diagram Control
  [Expand]Windows and Utility Controls
   Dialogs, Notifications and Panels
  [Expand]Scheduler (legacy)
 [Expand]Scaffolding Wizard
  Redistribution and Deployment
  Get More Help
 [Expand]API Reference
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Report and Dashboard Server
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

Provide Data for the Drill Mode

The Chart control provides the Drill Mode in which the control visualizes data hierarchies and allows end users to navigate between detail levels:

Expanded Data Source Requirements

The Chart control requires object aggregation and composition to be able to use these relationships to navigate between detail levels. For example, this topic uses the following object hierarchy to explain how the drill mode works:

Expanded Configure the Data Source

The Chart Control provides the Data Adapter to manage collections of objects that data provides on different drill down levels. The Adapter uses the Children Selector to get the next detail level collection:

The table below lists classes and properties included in the above-mentioned code:




Gets or sets the collection of objects used to generate series.


The data adapter that uses data objects with aggregation and composition relationships as data sources for different detail levels when the Chart control is in the Drill Mode.


Gets or set the collection of data source objects for the Chart in the Drill Mode.


Gets or sets an object that returns a child object collection from a data object on whose representation the end user clicked.

Expanded Manage Data Appearance on Different Detail Levels

Use the Diagram.SeriesItemTemplateSelector property to configure how the chart control shows data on different detail levels:

The following code snippet shows how to use this property.

Expanded Customize Text the Chart Displays in the Breadcrumb Panel

The Data Adapter provides the HierarchicalDataAdapterBase.BreadcrumbTextProvider property that manages text the chart shows for detail levels in the breadcrumb panel:

The following code snippet shows how to use this property.

The code above uses the following classes and properties:




Gets or sets the object that provides text for breadcrumb items when the Chart is in the Drill Mode.


An interface of a text provider for the HierarchicalDataAdapter.

Expanded Handle Changes of Detail Levels

Chart control diagrams provide the Diagram.DrillDownStateChanged event whose handler can customize the Chart when the current detail level changes:

Is this topic helpful?​​​​​​​