ChartRangeControlClientDataProvider.DataSource Property
Gets or sets the chart range control client provider’s data source.
Namespace: DevExpress.XtraEditors
Assembly: DevExpress.XtraEditors.v19.2.dll
Declaration
Property Value
Type | Default | Description |
---|---|---|
Object | *null* | An object that represents the data source from which the chart range control client retrieves its data. |
Remarks
The chart range control client can be bound to any object that implements the IEnumerable interface or its descendant (e.g., IList, ICollection). To bind a chart client, you should access the ChartRangeControlClientDataProvider object using the ChartRangeControlClientBase.DataProvider property and assign a data source to the DataSource property.
Example
This example shows how to bind a numeric chart range control client to a System.Collections.Generic.List containing NumericItem objects.
In order to provide data to a chart numeric range control client, you need to access the ChartRangeControlClientDataProvider object using the ChartRangeControlClientBase.DataProvider property and assign a data source to the ChartRangeControlClientDataProvider.DataSource
property.
Each NumericItem object contains Argument, Value and Series properties, to which a numeric chart range control client is bound via its ChartRangeControlClientDataProvider.ArgumentDataMember, ChartRangeControlClientDataProvider.ValueDataMember, and ChartRangeControlClientDataProvider.SeriesDataMember (optional) properties.
In addition, this example shows how to customize chart client common settings (e.g., change the numeric range, customize template view and grid options).
Note
A complete sample project is available at https://github.com/DevExpress-Examples/how-to-bind-a-numeric-chart-range-control-client-to-a-list-of-custom-objects-t125956
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using DevExpress.XtraEditors;
namespace NumericChartClient {
public partial class Form1 : Form {
const int pointCount = 20;
const int seriesCount = 2;
Random rand = new Random();
List<NumericItem> data = new List<NumericItem>();
public Form1() {
InitializeComponent();
// Assign a numeric chart client to the Range control.
rangeControl1.Client = numericChartRangeControlClient1;
// Generate a list of NumericItem objects and bind the numeric chart client to it.
numericChartRangeControlClient1.DataProvider.DataSource = GenerateNumericData();
// Specify data members to bind the chart client.
numericChartRangeControlClient1.DataProvider.ArgumentDataMember = "Argument";
numericChartRangeControlClient1.DataProvider.ValueDataMember = "Value";
numericChartRangeControlClient1.DataProvider.SeriesDataMember = "Series";
// Specify the chart range control client view.
AreaChartRangeControlClientView areaView = new AreaChartRangeControlClientView();
numericChartRangeControlClient1.DataProvider.TemplateView = areaView;
// Customize the area view appearance.
areaView.AreaOpacity = 90;
areaView.Color = Color.Gray;
areaView.ShowMarkers = true;
areaView.MarkerSize = 5;
areaView.MarkerColor = Color.Red;
// Specify the palette name to get a nice-looking chart.
numericChartRangeControlClient1.PaletteName = "NatureColors";
// Change the default range of the numeric chart range control client.
numericChartRangeControlClient1.Range.Min = 4;
numericChartRangeControlClient1.Range.Max = 12;
// Customize the grid options of the numeric chart range control client.
numericChartRangeControlClient1.GridOptions.GridSpacing = 2;
numericChartRangeControlClient1.GridOptions.SnapSpacing = 1;
}
List<NumericItem> GenerateNumericData() {
for (int seriesIndex = 0; seriesIndex < seriesCount; seriesIndex++) {
for (int i = 0; i < pointCount; i++) {
data.Add(new NumericItem() {
Argument = i,
Value = rand.Next(0, 30) + i,
Series = seriesIndex
});
}
}
return data;
}
}
public class NumericItem {
public double Argument { get; set; }
public double Value { get; set; }
public double Series { get; set; }
}
}
Related GitHub Examples
The following code snippet (auto-collected from DevExpress Examples) contains a reference to the DataSource 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.