How to change the series color in OLAP Chart?
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