All docs
V21.2
21.2
21.1
20.2
The page you are viewing does not exist in version 20.2. This link will take you to the root page.
20.1
The page you are viewing does not exist in version 20.1. This link will take you to the root page.
19.2
The page you are viewing does not exist in version 19.2. This link will take you to the root page.
19.1
The page you are viewing does not exist in version 19.1. This link will take you to the root page.
18.2
The page you are viewing does not exist in version 18.2. This link will take you to the root page.
18.1
The page you are viewing does not exist in version 18.1. This link will take you to the root page.
17.2
The page you are viewing does not exist in version 17.2. This link will take you to the root page.

SeriesTemplateSummaryAdapter Class

An adapter that creates series based on a template and summarizes series points.

Namespace: DevExpress.XtraCharts

Assembly: DevExpress.XtraCharts.v21.2.dll

Declaration

public class SeriesTemplateSummaryAdapter :
    SeriesTemplateAdapter,
    ISupportIndexAdapter<ISeries>,
    ISummaryAdapter,
    ISummaryOptionsOwner

Remarks

The SeriesTemplateSummaryAdapter allows you to create multiple series based on a template and summarize values of points with the same arguments.

Depending on the argument axis scale type, use one of the following properties to define scale-specific options:

The SummaryOptionsBase.SummaryFunction property allows you to specify the function used to summarize points. The following functions are available:

  • MIN([Data_Member_Name])
  • MAX([Data_Member_Name])
  • AVERAGE([Data_Member_Name])
  • SUM([Data_Member_Name])
  • COUNT()

Some functions require you to specify the data member name (the Data_Member_Name parameter) that supplies values to summarize.

To create a new function, use the ChartControl.RegisterSummaryFunction method.

Example

The following example shows how to create multiple series based on a template and aggregate their points with equal arguments:

using DevExpress.XtraCharts;
using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace SummaryChart {
    public partial class Form1 : Form {
        private void OnLoad(object sender, EventArgs e) {

            // Specify the chart data source.
            chart.DataSource = DataPoint.GetDataPoints();

            //Create a summary data adapter.
            SeriesTemplateSummaryAdapter dataAdapter = new SeriesTemplateSummaryAdapter();

            // Create a data member that defines arguments.
            dataAdapter.DataMembers.Add(new DataMember {
                DataMemberType = ChartDataMemberType.Argument,
                ColumnName = "Argument",
                ScaleType = ScaleType.Numerical
            });
            // Create a data member that defines values.
            dataAdapter.DataMembers.Add(new DataMember {
                DataMemberType = ChartDataMemberType.Value,
                ColumnName = "Value",
                ScaleType = ScaleType.Numerical
            });
            // Create a data member that identifies data series.
            dataAdapter.DataMembers.Add(new DataMember {
                DataMemberType = ChartDataMemberType.Series,
                ColumnName = "Name",
                ScaleType = ScaleType.Qualitative
            });

            // Specify a summary function.
            dataAdapter.NumericSummaryOptions.SummaryFunction = "AVERAGE([Value])";

            // Assign the data adapter to the chart.
            chart.SeriesTemplate.DataAdapter = dataAdapter;
        }

        public class DataPoint {
            public double Argument { get; set; }
            public double Value { get; set; }
            public string Name { get; set; }
            public static List<DataPoint> GetDataPoints() {
                return new List<DataPoint> {
                    new DataPoint { Argument= 1, Value = 853D, Name = "Series 2"},
                    new DataPoint { Argument= 1, Value = 321D, Name = "Series 2"},
                    new DataPoint { Argument= 1, Value = 655D, Name = "Series 1"},
                    new DataPoint { Argument= 1, Value = 1325D, Name = "Series 1"},
                    new DataPoint { Argument= 2, Value = 653D, Name = "Series 2"},
                    new DataPoint { Argument= 2, Value = 172D, Name = "Series 2"},
                    new DataPoint { Argument= 2, Value = 255D, Name = "Series 1"},
                    new DataPoint { Argument= 3, Value = 981D, Name = "Series 1"},
                    new DataPoint { Argument= 3, Value = 913D, Name = "Series 2"},
                    new DataPoint { Argument= 4, Value = 123D, Name = "Series 1"},
                    new DataPoint { Argument= 4, Value = 1011D, Name = "Series 1"},
                    new DataPoint { Argument= 4, Value = 359D, Name = "Series 2"},
                    new DataPoint { Argument= 4, Value = 721D, Name = "Series 2"},
                    new DataPoint { Argument= 4, Value = 565D, Name = "Series 1"}
                };
            }
        }
    }
}
See Also