To reproduce: - Add three line series and only set their point size. - At runtime remove the second series. - The points color is not updated corectly. Workaround - Set colors in code like this: lineSerie1.BorderColor = Color.Red; lineSerie1.BackColor = Color.Red; lineSerie2.BackColor = Color.Green; lineSerie2.BorderColor = Color.Green; lineSerie3.BackColor = Color.Blue; lineSerie3.BorderColor = Color.Blue;
To reproduce: 1. Add RadChartView with drill down and two RadCheckBox on the form 2. Subscribe to the ToggleStateChanged event of RadCheckBox and set the IsVisible property to true/false 3. In handler of DrillDown event set the series`s IsVisible property to be equal to checkbox`s Checked property 4. In few cases the series are not visible when changing the IsVisible property and view. Unfortunately due to the nature of the issue we cannot provide a workaround for it.
To reproduce: - Subscribe to the SelectedPointChanged event and show a dialog in it. - Start the chart and zoom in. Select a point, close the dialog and select a point again. Workaround: class MyChartSelectionController : ChartSelectionController { protected override ActionResult OnMouseDown(MouseEventArgs e) { //return base.OnMouseDown(e); return Controller.Empty; } protected override ActionResult OnMouseUp(MouseEventArgs e) { if (!this.AllowSelect || this.SelectionMode == ChartSelectionMode.None) { return base.OnMouseUp(e); } DataPoint oldDataPoint = SelectedPoint; DataPoint newDataPoint = null; ChartSeries oldSeries = SelectedSeries; ChartSeries newSeries = null; DataPoint point = null; foreach (ChartSeries series in this.Area.Series) { point = series.HitTest(e.X, e.Y); if (point != null) { newDataPoint = point; newSeries = series; break; } } if (point == null) { return base.OnMouseUp(e); } ChartViewSelectedPointChangingEventArgs cancelArgs = new ChartViewSelectedPointChangingEventArgs(oldDataPoint, newDataPoint, oldSeries, newSeries, this.SelectionMode); OnSelectedPointChanging(cancelArgs); if (cancelArgs.Cancel == true) { return base.OnMouseUp(e); } if (oldDataPoint == newDataPoint) { oldDataPoint.IsSelected = !oldDataPoint.IsSelected; newDataPoint = null; SelectedPoint = null; } else { if (this.SelectionMode == ChartSelectionMode.SingleDataPoint && oldDataPoint != null) { oldDataPoint.IsSelected = false; } this.SelectedPoint = newDataPoint; this.SelectedPoint.IsSelected = !SelectedPoint.IsSelected; } ChartViewSelectedPointChangedEventArgs changedArgs = new ChartViewSelectedPointChangedEventArgs(oldDataPoint, newDataPoint, oldSeries, newSeries, this.SelectionMode); OnSelectedPointChanged(changedArgs); return base.OnMouseUp(e); } }
To reproduce: - Add a pie chart using the property builder and set the palette as well. Workaround - Set the palette in code: this.radChartView1.Area.View.Palette = KnownPalette.Metro;
To reproduce: this.radChartView1.AreaType = ChartAreaType.Pie; PieSeries series = new PieSeries(); series.DataPoints.Add(new PieDataPoint(50, "Germany")); series.DataPoints.Add(new PieDataPoint(70, "United States")); series.DataPoints.Add(new PieDataPoint(40, "France")); for (int i = 0; i < 50; i++) { series.DataPoints.Add(new PieDataPoint(1, "Item " + i)); } series.ShowLabels = true; series.DrawLinesToLabels = true; this.radChartView1.Series.Add(series); this.radChartView1.ShowSmartLabels = true;
To reproduce: public RadForm1() { InitializeComponent(); LineSeries lineSeries = new LineSeries(); lineSeries.DataPoints.Add(new CategoricalDataPoint(40, "Jan")); lineSeries.DataPoints.Add(new CategoricalDataPoint(22, "Apr")); lineSeries.DataPoints.Add(new CategoricalDataPoint(12, "Jul")); lineSeries.DataPoints.Add(new CategoricalDataPoint(19, "Oct")); lineSeries.ShowLabels = true; this.radChartView1.Series.Add(lineSeries); LineSeries lineSeries2 = new LineSeries(); lineSeries2.DataPoints.Add(new CategoricalDataPoint(13, "Jan")); lineSeries2.DataPoints.Add(new CategoricalDataPoint(15, "Apr")); lineSeries2.DataPoints.Add(new CategoricalDataPoint(17, "Jul")); lineSeries2.DataPoints.Add(new CategoricalDataPoint(22, "Oct")); lineSeries2.ShowLabels = true; this.radChartView1.Series.Add(lineSeries2); ((CartesianArea)this.radChartView1.View.Area).ShowGrid = true; int i = 1; foreach (DataPointElement dpe in this.radChartView1.Series[0].Children) { dpe.IsVisible = false; AnimatedPropertySetting setting = new AnimatedPropertySetting(); setting.StartValue = false; setting.EndValue = true; setting.Property = UIChartElement.IsVisibleProperty; setting.ApplyDelay = 40 + 40 * i; setting.NumFrames = 2; setting.ApplyValue(dpe); i++; }i = 1; foreach (DataPointElement dpe in this.radChartView1.Series[1].Children) { dpe.IsVisible = false; AnimatedPropertySetting setting = new AnimatedPropertySetting(); setting.StartValue = false; setting.EndValue = true; setting.Property = UIChartElement.IsVisibleProperty; setting.ApplyDelay = 60 + 60 * i; setting.NumFrames = 2; setting.ApplyValue(dpe); i++; } } Workaround: Perform the animation in the Shown event.
To reproduce: public Form1() { InitializeComponent(); Random rand = new Random(); for (int i = 0; i < 3; i++) { LineSeries lineSeries = new LineSeries(); lineSeries.DataPoints.Add(new CategoricalDataPoint(rand.Next(-50, 50), "Jan")); lineSeries.DataPoints.Add(new CategoricalDataPoint(rand.Next(-50, 50), "Apr")); lineSeries.DataPoints.Add(new CategoricalDataPoint(rand.Next(-50, 50), "Jul")); lineSeries.DataPoints.Add(new CategoricalDataPoint(rand.Next(-50, 50), "Oct")); this.radChartView1.Series.Add(lineSeries); } this.radChartView1.ShowLegend = true; this.radChartView1.ChartElement.LegendPosition = LegendPosition.Bottom; ((LineSeries)this.radChartView1.Series[0]).LegendTitle = "S&P 500"; ((LineSeries)this.radChartView1.Series[1]).LegendTitle = "MSCI Emerging Markets TR Index"; ((LineSeries)this.radChartView1.Series[2]).LegendTitle = "Great ETF"; } Workaround: Font f = new Font("Times New Roman", 10f, FontStyle.Regular); private void Form1_Load(object sender, EventArgs e) { foreach (LegendItemElement item in this.radChartView1.ChartElement.LegendElement.StackElement.Children) { item.Font = f; } }
To reproduce: public Form1() { InitializeComponent(); this.radChartView1.AreaType = ChartAreaType.Polar; Random rand = new Random(); for (int i = 0; i < 80; i++) { RadarLineSeries s = new RadarLineSeries(); s.ShowLabels = true; for (int j = 0; j < 8; j++) { s.DataPoints.Add(new CategoricalDataPoint(rand.Next(1, 100), "X" + j)); } this.radChartView1.Series.Add(s); } this.radChartView1.ShowSmartLabels = true; }
To reproduce: LineSeries dailySeries = new LineSeries(); dailySeries.BorderColor = Color.DarkBlue; dailySeries.BorderWidth = 1; dailySeries.PointSize = new SizeF(5, 5); dailySeries.ShowLabels = true; for (int i = 0; i < 100; i++) { dailySeries.DataPoints.Add(new CategoricalDataPoint(rnd.Next(100), DateTime.Now.AddMonths(i)) { Label = "old" }); } DateTimeCategoricalAxis categoricalAxis = new DateTimeCategoricalAxis(); categoricalAxis.DateTimeComponent = DateTimeComponent.Date; categoricalAxis.MajorTickInterval = 10; categoricalAxis.PlotMode = AxisPlotMode.OnTicks; categoricalAxis.LabelFormat = "{0:MMM-yy}"; categoricalAxis.ClipLabels = false; categoricalAxis.LastLabelVisibility = AxisLastLabelVisibility.Visible; CartesianArea area = this.radChart.GetArea<CartesianArea>(); area.ShowGrid = true; CartesianGrid grid = area.GetGrid<CartesianGrid>(); grid.DrawHorizontalFills = true; grid.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.DashDot; //First assign the axis to the VerticalAxis property and then add the series to the chart dailySeries.HorizontalAxis = categoricalAxis; this.radChart.Series.Add(dailySeries); Workaround: Use different value for the MajorTickInterval.