Unplanned
Last Updated: 29 Mar 2016 10:59 by ADMIN
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. 
Unplanned
Last Updated: 29 Mar 2016 10:59 by ADMIN
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);
    }

   
}


Unplanned
Last Updated: 29 Mar 2016 10:58 by ADMIN
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;
Unplanned
Last Updated: 29 Mar 2016 10:58 by ADMIN
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;
Unplanned
Last Updated: 29 Mar 2016 10:45 by ADMIN
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.
Unplanned
Last Updated: 29 Mar 2016 10:42 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: ChartView
Type: Bug Report
1
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;
    }
}
Unplanned
Last Updated: 29 Mar 2016 10:41 by ADMIN
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;
}
Unplanned
Last Updated: 29 Mar 2016 10:36 by ADMIN
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.
Completed
Last Updated: 21 Mar 2016 09:12 by ADMIN
When trying to drill down PieChart on RadChartView the code throws exception.

Workaround: private void radChartView_Drill(object sender, DrillEventArgs e){    e.View.Parent = this.radChartViewUsers.ChartElement.Wrapper;    e.View.AreaType = ChartAreaType.Pie;    //do drill logic}
Completed
Last Updated: 10 Feb 2016 14:29 by ADMIN
To reproduce:
public RadForm1()
{
    InitializeComponent();
    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"));
    series.DataPoints.Add(new PieDataPoint(25, "United Kingdom"));
    series.ShowLabels = true;
    this.radChartView1.Series.Add(series);

    radChartView1.ShowLegend = true;
}
Random rnd = new Random();
private void radButton1_Click(object sender, EventArgs e)
{
     this.radChartView1.Series[0].DataPoints.RemoveAt(0);
     this.radChartView1.Series[0].DataPoints.Add(new PieDataPoint(rnd.Next(100), rnd.Next(100).ToString()));
}

Workaround:

private void radButton1_Click(object sender, EventArgs e)
{
    this.radChartView1.Series[0].DataPoints.RemoveAt(0);
    this.radChartView1.Series[0].DataPoints.Add(new PieDataPoint(50, rnd.Next(100).ToString()));

    this.radChartView1.ChartElement.LegendElement.Items.Clear();

    foreach (PieSeries series in radChartView1.Series)
    {
        for (int i = 0; i < series.DataPoints.Count; i++)
        {
            var dataPoint = series.DataPoints[i] as PieDataPoint;
            var element = series.Children[i] as PiePointElement;

            var legendItem = new LegendItem(element);
            legendItem.Title = dataPoint.LegendTitle;
          
            this.radChartView1.ChartElement.LegendElement.Items.Add(legendItem);
        }
        
    }
}
Completed
Last Updated: 11 Nov 2015 12:34 by ADMIN
To reproduce:
this.radChartView1.AreaType = Telerik.WinControls.UI.ChartAreaType.Polar;
RadarLineSeries series = new RadarLineSeries(new SizeF(8f, 8f));
series.DataPoints.Add(new CategoricalDataPoint(0.0, "Coding"));
series.LegendTitle = String.Format("Coding");
series.BorderWidth = 2;
radChartView1.Series.Add(series);
series.PolarAxis.Minimum = 0d;
series.PolarAxis.Maximum = 0.0;
series.PolarAxis.TickLength = 4;


Completed
Last Updated: 01 Sep 2015 10:40 by ADMIN
Workaround: 
public Form1()
        {
            InitializeComponent();
         
           StringFormat.GenericTypographic.Alignment = StringAlignment.Near;
        }
Completed
Last Updated: 23 Jul 2015 12:59 by ADMIN
Workaround: create a custom BarSeriesDrawPart  and override the Draw method

public class CustomBarSeriesDrawPart : BarSeriesDrawPart
{
    public CustomBarSeriesDrawPart(BarSeries series, IChartRenderer renderer)
        : base(series, renderer)
    { }

    public override void Draw()
    {
        bool shouldDraw = IsElementValid();
        if (shouldDraw)
        {
            Graphics graphics = this.Renderer.Surface as Graphics;
            GraphicsState state = graphics.Save();
            Region clipRegion = graphics.Clip;

            CartesianSeries cartesianSeries = this.Element as CartesianSeries;
           

            if (cartesianSeries != null)
            {
                FieldInfo fi = cartesianSeries.GetType().GetField("area", BindingFlags.NonPublic | BindingFlags.Instance);
                CartesianArea  area = fi.GetValue(cartesianSeries) as CartesianArea;
                MethodInfo mi = area.GetType().GetMethod("GetCartesianClipRect", BindingFlags.NonPublic | BindingFlags.Instance);
                mi.Invoke(area, null);

                RectangleF clipRect = (RectangleF)mi.Invoke(area, null); 
                graphics.Clip = new Region(clipRect);
            }

            DrawSeriesParts();

            graphics.Clip = clipRegion;
            graphics.Restore(state);
        }
    }
}
Completed
Last Updated: 22 Jul 2015 06:43 by ADMIN
RadChartView Control: corrupts legend when set Series IsVisibleInLegend = False in Properties at design time

Simply added a few extra series , and then tried to turn them off in the legend 

screen shot shows too many legent items for the series in the properties window

Completed
Last Updated: 14 Jul 2015 09:59 by ADMIN
Completed
Last Updated: 10 Jul 2015 13:01 by ADMIN
How to reproduce: 
public Form1()
        {
            InitializeComponent();

            DataTable source = new DataTable();
            source.Columns.Add("PreviousGoal", typeof(decimal));
            source.Columns.Add("CurrentCategory", typeof(System.DateTime));

            source.LoadDataRow(new object[] { null, "6/1/15" }, true);
            source.LoadDataRow(new object[] { null, "6/2/15" }, true);
            source.LoadDataRow(new object[] { null, "6/3/15" }, true);
            source.LoadDataRow(new object[] { null, "6/4/15" }, true);
            source.LoadDataRow(new object[] { null, "6/5/15" }, true);

            this.radChartView1.DataSource = source;

            SteplineSeries previousGoalSeries = new SteplineSeries();
            previousGoalSeries.DataSource = source;
            previousGoalSeries.ValueMember = "PreviousGoal";
            this.radChartView1.Series.Add(previousGoalSeries);

            SteplineSeries previousGoalSeries1 = new SteplineSeries();
            previousGoalSeries1.DataSource = source;
            previousGoalSeries1.ValueMember = "CurrentCategory";
            this.radChartView1.Series.Add(previousGoalSeries1);

            this.radChartView1.ShowTrackBall = true;

        }

Workaround: add the series with null values last
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        DataTable source = new DataTable();
        source.Columns.Add("PreviousGoal", typeof(decimal));
        source.Columns.Add("CurrentCategory", typeof(System.DateTime));

        source.LoadDataRow(new object[] { null, "6/1/15" }, true);
        source.LoadDataRow(new object[] { null, "6/2/15" }, true);
        source.LoadDataRow(new object[] { null, "6/3/15" }, true);
        source.LoadDataRow(new object[] { null, "6/4/15" }, true);
        source.LoadDataRow(new object[] { null, "6/5/15" }, true);

        this.radChartView1.DataSource = source;
        SteplineSeries previousGoalSeries1 = new SteplineSeries();
        previousGoalSeries1.DataSource = source;
        previousGoalSeries1.ValueMember = "CurrentCategory";
        this.radChartView1.Series.Add(previousGoalSeries1);

        SteplineSeries previousGoalSeries = new SteplineSeries();
        previousGoalSeries.DataSource = source;
        previousGoalSeries.ValueMember = "PreviousGoal";
        this.radChartView1.Series.Add(previousGoalSeries);

        this.radChartView1.ShowTrackBall = true;
    }
}
Declined
Last Updated: 08 Jul 2015 13:29 by ADMIN
Having issues withVS2013 & 2015 Q1 Winforms RadChartView control

1. WYSIWYG in design time does not refresh properly after changing axis collection parameters, unless close and reopen the parent winform or custom control
2. by changing an axis collection parameter , seem to end up with multiple extra axes series (originally had axisX, AxisY, and after a minor param change ended up with axis 0 thru 5 (6 in total) and all series where now using axis4 & axis5 not my original axis?
3. I can't see to toggle display on/off of series in winforms via the legend, yet in wpf web it is possible? will this feature be added later?

attached is example of WYSIWYG not working

improvement Suggestions:
I would love to have a major and minor grid (similar to ref: http://thumbs.dreamstime.com/z/screen-digital-oscilloscope-two-types-signal-33269502.jpg)  as most of my work is measurement and scientific in nature. 

I would like to ensure the ratio of X-Y is fixed so that on resize of the control the grid does not skew or stretch  and I loose 1:1 aspect ratio

I look forward to your feedback ;)


Completed
Last Updated: 07 Jul 2015 12:30 by ADMIN
How to reproduce: 
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        this.radChartView1.AreaType = ChartAreaType.Pie;
        PieSeries series = new PieSeries();
        series.DataPoints.Add(new PieDataPoint(0, "Germany"));
        series.DataPoints.Add(new PieDataPoint(0, "United States"));
        series.DataPoints.Add(new PieDataPoint(0, "France"));
        series.DataPoints.Add(new PieDataPoint(0, "United Kingdom"));
        series.ShowLabels = true;
        this.radChartView1.Series.Add(series);
        this.radChartView1.ShowSmartLabels = true;
    }
}

Workaround: 
this.radChartView1.ShowSmartLabels = false;