Skip to main content

syncfusion-winforms-pivot-chart

Implement Syncfusion Windows Forms Pivot Chart control for visualizing multidimensional data with interactive drill-down capabilities. Use this when working with pivot charts, pivot data visualization, drill-down charts, hierarchical chart data, or business intelligence visualizations. Supports 11+ chart types (Line, Spline, Column, Area, Stacking), data binding with IEnumerable/DataTable, drill up/down operations, pivot table field list, grouping bar, legend customization, Excel export, zooming, scrolling, and touch support.

Informations de source

Dépôt
syncfusion/winforms-ui-components-skills
Dernière activité de la source
6 juillet 2026 à 07:19
Langue détectée de SKILL.md
anglais
Étoiles
2
Forks
0

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Explorateur de fichiers
15 fichiers

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
syncfusion-winforms-pivot-chart
description
Implement Syncfusion Windows Forms Pivot Chart control for visualizing multidimensional data with interactive drill-down capabilities. Use this when working with pivot charts, pivot data visualization, drill-down charts, hierarchical chart data, or business intelligence visualizations. Supports 11+ chart types (Line, Spline, Column, Area, Stacking), data binding with IEnumerable/DataTable, drill up/down operations, pivot table field list, grouping bar, legend customization, Excel export, zooming, scrolling, and touch support.
metadata
{"author":"Syncfusion Inc","version":"34.1.29"}
# Implementing Syncfusion Pivot Chart A comprehensive guide for implementing the Syncfusion Pivot Chart control in Windows Forms applications. The Pivot Chart provides interactive visualization of multidimensional pivot data with drill-down capabilities, supporting 11+ chart types and advanced features like grouping bar, field list, and Excel export. ## When to Use This Skill Use this skill when you need to: - **Visualize pivot data** in graphical format with multiple chart types - **Implement drill-down/drill-up** functionality to navigate through hierarchical data levels - **Create business intelligence dashboards** with interactive pivot visualizations - **Analyze multidimensional data** from IEnumerable lists or DataTables - **Build OLAP visualization** interfaces for analytical applications - **Add interactive data exploration** with grouping bar and pivot field list - **Export pivot charts** to Excel format for reporting - **Display hierarchical sales, financial, or analytical data** in chart format - **Implement Excel-like pivot chart** functionality in Windows Forms applications - **Create dynamic charts** that update based on pivot field selections ## Component Overview The **Syncfusion Pivot Chart** is a lightweight, high-performance control that reads pivot information and visualizes it in graphical format. It provides: - **11+ Chart Types:** Line, Spline, Column, Area, Spline Area, Stacking Area, Stacking Column, Stacking Area 100, Stacking Column 100, Step Line, Step Area - **Drill Support:** Navigate through inner levels of data hierarchy with drill-down/drill-up - **Data Binding:** Support for IEnumerable lists and DataTable sources - **Pivot Table Field List:** Built-in pivot schema designer similar to Microsoft Excel - **Grouping Bar:** Interactive drag-and-drop grouping of data fields - **Legend:** Color-coded series identification - **Export:** Export to Excel format - **Zooming and Scrolling:** Interactive data exploration - **Touch Support:** Touch-friendly for tablets and touch-enabled devices - **Real-time Updates:** Automatic chart updates when data changes ## Documentation and Navigation Guide ### Getting Started 📄 **Read:** [references/getting-started.md](references/getting-started.md) - Assembly deployment and dependencies - Adding control via designer, code, or Syncfusion Reference Manager - Licensing requirements (v16.2.0.x+) - Basic initialization and first data binding - ItemSource, PivotAxis, PivotLegend, and PivotCalculations setup ### Data Binding 📄 **Read:** [references/data-binding.md](references/data-binding.md) - Binding IEnumerable lists and DataTable sources - Configuring ItemSource property - Setting up PivotAxis for hierarchical data - Configuring PivotLegend for series categorization - Setting up PivotCalculations for data aggregation - Real-time updates with EnableUpdating - Performance optimization with BeginUpdate/EndUpdate ### Chart Types 📄 **Read:** [references/chart-types.md](references/chart-types.md) - Overview of 11 supported chart types - Line, Spline, Step Line charts - Column and Stacking Column charts - Area, Spline Area, Step Area charts - Stacking Area and Stacking Column (100%) charts - Switching chart types dynamically - ChartTypes enumeration - Choosing appropriate chart type for your data ### Drill Operations 📄 **Read:** [references/drill-operations.md](references/drill-operations.md) - Enabling drill-down/drill-up functionality - AllowDrillDown property configuration - Navigating through hierarchical data levels - Using expanders for drill operations - Programmatic drill operations - User interactions and drill events ### Grouping Bar 📄 **Read:** [references/grouping-bar.md](references/grouping-bar.md) - Enabling and configuring grouping bar - Interactive drag-and-drop field grouping - Field manipulation and rearrangement - Visibility and customization options - User interactions with grouping bar ### Pivot Axis Configuration 📄 **Read:** [references/pivot-axis.md](references/pivot-axis.md) - Understanding PivotAxis property - Adding PivotItem objects to axis - FieldMappingName for data field binding - TotalHeader for aggregate displays - Multiple axis items for hierarchical structure - Axis customization options ### Pivot Table Field List 📄 **Read:** [references/pivot-table-field-list.md](references/pivot-table-field-list.md) - Built-in pivot schema designer - Microsoft Excel-like field list interface - Enabling and displaying field list - Drag-and-drop field configuration - Filter setup and management - Calculation field configuration - User interactions with field list ### Legend 📄 **Read:** [references/legend.md](references/legend.md) - Configuring PivotLegend property - Color coding for series identification - Legend positioning and layout - Visibility and customization options - Series labels and formatting ### Sorting 📄 **Read:** [references/sorting.md](references/sorting.md) - Sorting pivot data in charts - Ascending and descending sort orders - Multiple field sorting and Custom sort logic - Sort configuration options ### Export 📄 **Read:** [references/export.md](references/export.md) - Exporting pivot charts to Excel - Export configuration and options - File format settings - Programmatic export operations - Customizing exported output ### Zooming and Scrolling 📄 **Read:** [references/zooming-scrolling.md](references/zooming-scrolling.md) - Interactive zoom functionality - Scroll support for large datasets and Mouse wheel zoom operations - Zoom configuration and customization - Scrollbar appearance and behavior ### Touch Support 📄 **Read:** [references/touch-support.md](references/touch-support.md) - Touch gesture support for tablets - Touch interactions (tap, swipe, pinch) - Optimizing for touch-enabled devices - Touch gesture configuration - Mobile and tablet considerations ### Appearance and Customization 📄 **Read:** [references/appearance-customization.md](references/appearance-customization.md) - Chart area customization - Series styling and colors and Color palette configuration - Print support and settings - Custom styling options ### Troubleshooting 📄 **Read:** [references/troubleshooting.md](references/troubleshooting.md) - Common issues and solutions - Data binding errors and fixes - Performance optimization tips - How to enable drill-down and to print the pivot chart - How to set custom color palettes, debugging and diagnostic tips ## Quick Start Example ### Minimal Pivot Chart Implementation ```csharp using System; using System.Windows.Forms; using Syncfusion.Windows.Forms.PivotChart; using Syncfusion.PivotAnalysis.Base; namespace PivotChartDemo { public partial class Form1 : Form { private PivotChart pivotChart1; public Form1() { InitializeComponent(); // Initialize Pivot Chart pivotChart1 = new PivotChart(); pivotChart1.Dock = DockStyle.Fill; // Bind data source pivotChart1.ItemSource = ProductSales.GetSalesData(); // Configure Pivot Axis (hierarchical structure) pivotChart1.PivotAxis.Add(new PivotItem { FieldMappingName = "Product", TotalHeader = "Total" }); pivotChart1.PivotAxis.Add(new PivotItem { FieldMappingName = "Country", TotalHeader = "Total" }); pivotChart1.PivotAxis.Add(new PivotItem { FieldMappingName = "State", TotalHeader = "Total" }); // Configure Pivot Legend (series categorization) pivotChart1.PivotLegend.Add(new PivotItem { FieldMappingName = "Date", TotalHeader = "Total" }); // Configure Calculations (data aggregation) pivotChart1.PivotCalculations.Add(new PivotComputationInfo { FieldName = "Quantity", Format = "#,##0" }); // Set chart type pivotChart1.ChartTypes = PivotChartTypes.Column; // Enable drill-down pivotChart1.AllowDrillDown = true; // Add to form this.Controls.Add(pivotChart1); } } } ``` ## Common Patterns ### Pattern 1: Binding to IEnumerable Collection ```csharp using System.Collections.Generic; // Data model public class SalesData { public string Product { get; set; } public string Region { get; set; } public string Quarter { get; set; } public int Quantity { get; set; } public decimal Amount { get; set; } } // Create and bind data private void BindPivotChart() { List<SalesData> salesList = new List<SalesData> { new SalesData { Product = "Laptop", Region = "North", Quarter = "Q1", Quantity = 50, Amount = 50000 }, new SalesData { Product = "Laptop", Region = "South", Quarter = "Q1", Quantity = 40, Amount = 40000 }, new SalesData { Product = "Mouse", Region = "North", Quarter = "Q1", Quantity = 200, Amount = 6000 }, // Add more data... }; pivotChart1.ItemSource = salesList; // Configure fields pivotChart1.PivotAxis.Add(new PivotItem { FieldMappingName = "Product", TotalHeader = "Total" }); pivotChart1.PivotLegend.Add(new PivotItem { FieldMappingName = "Quarter", TotalHeader = "Total" }); pivotChart1.PivotCalculations.Add(new PivotComputationInfo { FieldName = "Amount", Format = "C", SummaryType = SummaryType.DoubleTotalSum }); } ``` ### Pattern 2: Switching Chart Types Dynamically ```csharp // Add buttons or menu items to switch chart types private void btnLineChart_Click(object sender, EventArgs e) { pivotChart1.ChartTypes = PivotChartTypes.Line; } private void btnColumnChart_Click(object sender, EventArgs e) { pivotChart1.ChartTypes = PivotChartTypes.Column; } private void btnAreaChart_Click(object sender, EventArgs e) { pivotChart1.ChartTypes = PivotChartTypes.Area; } private void btnStackingColumn_Click(object sender, EventArgs e) { pivotChart1.ChartTypes = PivotChartTypes.StackingColumn; } ``` ### Pattern 3: Hierarchical Drill-Down Configuration ```csharp // Enable drill-down with multiple hierarchy levels private void ConfigureDrillDown() { pivotChart1.AllowDrillDown = true; // Define hierarchy: Category → Product → Region → State pivotChart1.PivotAxis.Clear(); pivotChart1.PivotAxis.Add(new PivotItem { FieldMappingName = "Category", TotalHeader = "All Categories" }); pivotChart1.PivotAxis.Add(new PivotItem { FieldMappingName = "Product", TotalHeader = "All Products" }); pivotChart1.PivotAxis.Add(new PivotItem { FieldMappingName = "Region", TotalHeader = "All Regions" }); pivotChart1.PivotAxis.Add(new PivotItem { FieldMappingName = "State", TotalHeader = "All States" }); } ``` ### Pattern 4: Real-Time Data Updates ```csharp // Enable automatic updates when data changes private void ConfigureRealTimeUpdates() { // Enable automatic chart updates pivotChart1.EnableUpdating = true; // Bind to observable collection or implement INotifyPropertyChanged var salesData = new BindingList<SalesData>(GetSalesData()); pivotChart1.ItemSource = salesData; // Now any changes to salesData will automatically update the chart } // For bulk updates, use BeginUpdate/EndUpdate private void BulkDataUpdate() { pivotChart1.BeginUpdate(); try { // Perform multiple data operations var data = (BindingList<SalesData>)pivotChart1.ItemSource; for (int i = 0; i < 100; i++) { data.Add(new SalesData { /* ... */ }); } } finally { pivotChart1.EndUpdate(); // Chart updates once after all changes } } ``` ### Pattern 5: Multiple Calculations with Formatting ```csharp // Display multiple aggregated values with custom formatting private void ConfigureMultipleCalculations() { pivotChart1.PivotCalculations.Clear(); // Total quantity pivotChart1.PivotCalculations.Add(new PivotComputationInfo { FieldName = "Quantity", Format = "#,##0", SummaryType = SummaryType.DoubleTotalSum, FieldHeader = "Total Qty" }); // Total amount (currency) pivotChart1.PivotCalculations.Add(new PivotComputationInfo { FieldName = "Amount", Format = "C2", SummaryType = SummaryType.DoubleTotalSum, FieldHeader = "Total Amount" }); // Average price pivotChart1.PivotCalculations.Add(new PivotComputationInfo { FieldName = "UnitPrice", Format = "C2", SummaryType = SummaryType.DoubleAverage, FieldHeader = "Avg Price" }); } ``` ## Key Properties and Methods ### Core Properties | Property | Type | Description | |----------|------|-------------| | `ItemSource` | object | Data source (IEnumerable or DataTable) | | `PivotAxis` | PivotItemCollection | Fields for chart axis (hierarchical) | | `PivotLegend` | PivotItemCollection | Fields for legend/series | | `PivotCalculations` | PivotComputationInfoCollection | Calculation/aggregation fields | | `ChartTypes` | PivotChartTypes | Chart type (Line, Column, Area, etc.) | | `AllowDrillDown` | bool | Enable drill-down/drill-up operations | | `EnableUpdating` | bool | Auto-update when data changes | ### PivotItem Properties | Property | Type | Description | |----------|------|-------------| | `FieldMappingName` | string | Name of data field to bind | | `TotalHeader` | string | Header text for total/aggregate row | | `FieldHeader` | string | Display header for the field | ### PivotComputationInfo Properties | Property | Type | Description | |----------|------|-------------| | `FieldName` | string | Name of field to calculate | | `Format` | string | Number format string | | `SummaryType` | SummaryType | Aggregation type (Sum, Average, Count, etc.) | | `FieldHeader` | string | Display name for calculation | ### Key Methods | Method | Description | |--------|-------------| | `BeginUpdate()` | Suspend chart updates for bulk operations | | `EndUpdate()` | Resume chart updates and refresh | | `Refresh()` | Manually refresh the chart | ## Common Use Cases ### Business Intelligence Dashboard - Visualize sales data by product, region, and time period - Drill down from yearly to quarterly to monthly views - Compare multiple metrics (quantity, revenue, profit) ### Financial Analysis - Display financial data across departments, periods, and categories - Analyze budget vs. actual spending with hierarchical drill-down - Visualize profit/loss trends across business units ### Marketing Analytics - Analyze campaign performance by channel, region, and time period - Compare multiple KPIs (impressions, clicks, conversions) - Drill down from campaign level to ad group level ## Performance Considerations 1. **Use BeginUpdate/EndUpdate** for bulk data operations to prevent multiple redraws 2. **Limit hierarchy depth** - 3-4 levels is optimal for performance and usability 3. **Filter data** before binding rather than binding entire dataset 4. **Consider data volume** - for very large datasets (100k+ rows), pre-aggregate data ## Best Practices 1. **Always register license key** before creating pivot chart control
Voir sur GitHub
Ce SKILL.md est tres volumineux, SkillsMP affiche donc ici seulement la premiere section. Voir sur GitHub