Category / Section
How to change the series color in OLAP Chart?
1 min read
You can change the series color of OLAP Chart series as follows.
C#
public partial class MainPage : UserControl { private IOlapDataProvider dataProvider; public object OlapDataManager; public MainPage() { InitializeComponent(); InitializeConnection(); this.olapChart1.OnDataRefreshCompleted += new OlapChart.DataRefreshCompleted(olapChart1_OnDataRefreshCompleted); } private void InitializeConnection() { Binding customBinding = new CustomBinding(new BinaryMessageEncodingBindingElement(), new HttpTransportBindingElement { MaxReceivedMessageSize = 2147483647 }); EndpointAddress address = new EndpointAddress("http://bi.syncfusion.com/OlapWcfProject/Services/OlapManager.svc/binary"); ChannelFactory<IOlapDataProvider> clientChannel = new ChannelFactory<IOlapDataProvider>(customBinding, address); dataProvider = clientChannel.CreateChannel(); OlapDataManager olapDataManager = new OlapDataManager(); olapDataManager.DataProvider = dataProvider; olapDataManager.SetCurrentReport(CreateOlapReport()); this.OlapDataManager = olapDataManager; } void olapChart1_OnDataRefreshCompleted(object sender, DataRefreshCompletedEventArgs e) { SolidColorBrush seriesBrush = new SolidColorBrush(); seriesBrush.Color = Color.FromArgb(255, 0, 0, 255); olapChart1.Dispatcher.BeginInvoke(() => { foreach (var series in olapChart1.OlapArea.Series) { foreach (var seg in series.Segments) { seg.Interior = seriesBrush; } } }); }
VB
Partial Public Class MainPage Inherits UserControl Private dataProvider As IOlapDataProvider Public OlapDataManager As Object Public Sub New() InitializeComponent() InitializeConnection() Me.olapChart1.OnDataRefreshCompleted += New OlapChart.DataRefreshCompleted(olapChart1_OnDataRefreshCompleted) End Sub Private Sub InitializeConnection() Binding customBinding = New CustomBinding(New BinaryMessageEncodingBindingElement(), New HttpTransportBindingElement { MaxReceivedMessageSize = 2147483647 } ) Dim address As EndpointAddress = New EndpointAddress("http://bi.syncfusion.com/OlapWcfProject/Services/OlapManager.svc/binary") Dim clientChannel As ChannelFactory<IOlapDataProvider> = New ChannelFactory<IOlapDataProvider>(customBinding,address) dataProvider = clientChannel.CreateChannel() Dim olapDataManager As OlapDataManager = New OlapDataManager() olapDataManager.DataProvider = dataProvider olapDataManager.SetCurrentReport(CreateOlapReport()) Me.OlapDataManager = olapDataManager End Sub Private Sub olapChart1_OnDataRefreshCompleted(ByVal sender As Object, ByVal e As DataRefreshCompletedEventArgs) Dim seriesBrush As SolidColorBrush = New SolidColorBrush() seriesBrush.Color = Color.FromArgb(255, 0, 0, 255) olapChart1.Dispatcher.BeginInvoke(() => { Dim series As var For Each series In olapChart1.OlapArea.Series Dim seg As var For Each seg In series.Segments seg.Interior = seriesBrush Next Next } ) End Sub