Back to Devexpress

SeriesNameTemplate.BeginText Property

corelibraries-devexpress-dot-xtracharts-dot-seriesnametemplate.md

latest8.8 KB
Original Source

SeriesNameTemplate.BeginText Property

Gets or sets a prefix for the names of data bound series objects.

Namespace : DevExpress.XtraCharts

Assembly : DevExpress.XtraCharts.v25.2.dll

NuGet Package : DevExpress.Charts

Declaration

csharp
public string BeginText { get; set; }
vb
Public Property BeginText As String

Property Value

TypeDescription
String

A String value that specifies a common prefix for data bound series’ names.

|

Remarks

The BeginText property specifies a prefix text for the names of series objects which are created dynamically as a result of chart level data binding. Typically, each such series is named based upon the value of the data field which is specified via the ChartControl.SeriesDataMember property. In order to provide a common name prefix for all series bound to data at the chart control level, the BeginText property can be used.

A postfix text for series names can be specified via the SeriesNameTemplate.EndText property.

Series names together with prefixes and postfixes specified (if any) are displayed within the legend and can be obtained via the Series.Name property of a CustomDrawSeriesEventArgsBase.Series object passed to specific events (such as the ChartControl.CustomDrawSeries) of a chart control.

The following image demonstrates this property in action.

Example

The following example demonstrates how to bind a chart to data at runtime using series templates. It uses the same approach as the design-time example, but another data table is generated in this code to simplify the example. For this example to work correctly, don’t forget to include all necessary assemblies to the References list of your project.

Note

A complete sample project is available at https://github.com/DevExpress-Examples/winforms-charts-bind-chart-to-data-using-series-templates

csharp
using System;
using System.Data;
using System.Windows.Forms;
using DevExpress.XtraCharts;
// ...

namespace BindUsingTemplatesRuntimeCS {
    public partial class Form1 : Form {
        public Form1() {
            InitializeComponent();
        }

        private DataTable CreateChartData() {
            // Create an empty table.
            DataTable table = new DataTable("Table1");

            // Add three columns to the table.
            table.Columns.Add("Month", typeof(String));
            table.Columns.Add("Section", typeof(String));
            table.Columns.Add("Value", typeof(Int32));

            // Add data rows to the table.
            table.Rows.Add(new object[] { "Jan", "Section1", 10 });
            table.Rows.Add(new object[] { "Jan", "Section2", 20 });
            table.Rows.Add(new object[] { "Feb", "Section1", 20 });
            table.Rows.Add(new object[] { "Feb", "Section2", 30 });
            table.Rows.Add(new object[] { "March", "Section1", 15 });
            table.Rows.Add(new object[] { "March", "Section2", 25 });

            return table;
        }

        private void Form1_Load(object sender, EventArgs e) {
            // Create a chart.
            ChartControl chart = new ChartControl();

            // Generate a data table and bind the chart to it.
            chart.DataSource = CreateChartData();

            // Specify data members to bind the chart's series template.
            chart.SeriesDataMember = "Month";
            chart.SeriesTemplate.ArgumentDataMember = "Section";
            chart.SeriesTemplate.ValueDataMembers.AddRange(new string[] {"Value"});

            // Specify the template's series view.
            chart.SeriesTemplate.View = new StackedBarSeriesView();

            // Specify the template's name prefix.
            chart.SeriesNameTemplate.BeginText = "Month: ";

            // Dock the chart into its parent, and add it to the current form.
            chart.Dock = DockStyle.Fill;
            this.Controls.Add(chart);
        }
    }
}
vb
Imports Microsoft.VisualBasic
Imports System
Imports System.Data
Imports System.Windows.Forms
Imports DevExpress.XtraCharts
' ...

Namespace BindUsingTemplatesRuntimeCS
    Partial Public Class Form1
        Inherits Form
        Public Sub New()
            InitializeComponent()
        End Sub

        Private Function CreateChartData() As DataTable
            ' Create an empty table.
            Dim table As New DataTable("Table1")

            ' Add three columns to the table.
            table.Columns.Add("Month", GetType(String))
            table.Columns.Add("Section", GetType(String))
            table.Columns.Add("Value", GetType(Int32))

            ' Add data rows to the table.
            table.Rows.Add(New Object() { "Jan", "Section1", 10 })
            table.Rows.Add(New Object() { "Jan", "Section2", 20 })
            table.Rows.Add(New Object() { "Feb", "Section1", 20 })
            table.Rows.Add(New Object() { "Feb", "Section2", 30 })
            table.Rows.Add(New Object() { "March", "Section1", 15 })
            table.Rows.Add(New Object() { "March", "Section2", 25 })

            Return table
        End Function

        Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
            ' Create a chart.
            Dim chart As New ChartControl()

            ' Generate a data table and bind the chart to it.
            chart.DataSource = CreateChartData()

            ' Specify data members to bind the chart's series template.
            chart.SeriesDataMember = "Month"
            chart.SeriesTemplate.ArgumentDataMember = "Section"
            chart.SeriesTemplate.ValueDataMembers.AddRange(New String() {"Value"})

            ' Specify the template's series view.
            chart.SeriesTemplate.View = New StackedBarSeriesView()

            ' Specify the template's name prefix.
            chart.SeriesNameTemplate.BeginText = "Month: "

            ' Dock the chart into its parent, and add it to the current form.
            chart.Dock = DockStyle.Fill
            Me.Controls.Add(chart)
        End Sub
    End Class
End Namespace

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the BeginText property.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

winforms-charts-bind-chart-to-data-using-series-templates/CS/Form1.cs#L49

csharp
// Specify the template's name prefix.
chart.SeriesNameTemplate.BeginText = "Month: ";

winforms-charts-bind-chart-to-data-using-series-templates/VB/Form1.vb#L45

vb
' Specify the template's name prefix.
chart.SeriesNameTemplate.BeginText = "Month: "
' Dock the chart into its parent, and add it to the current form.

See Also

EndText

SeriesNameTemplate Class

SeriesNameTemplate Members

DevExpress.XtraCharts Namespace