Unplanned
Last Updated: 25 Apr 2022 08:19 by Dinko
The RangeSelector control does not support multiple axes for the chart series. If there is more than one axis, the RangeSelector will use only one and apply all series to it. This way the chart inside the RangeSelector will be different from the assigned RadChartView.
Unplanned
Last Updated: 16 May 2019 05:33 by ADMIN
Unplanned
Last Updated: 16 May 2019 05:27 by ADMIN
Unplanned
Last Updated: 12 Jul 2018 11:44 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: RangeSelector
Type: Bug Report
0
To reproduce: when you set the Orientation property to Vertical, the arrow buttons work in the opposite direction. Additionally, you change the range by using the thumbs and try to move the selection, the behavior is not expected. Please refer to the attached gif file.
Unplanned
Last Updated: 07 Apr 2017 10:12 by ADMIN
How to reproduce:
public partial class Form1 : Form
    {
        private RangeSelectorViewElement chartElement;

        public Form1()
        {
            InitializeComponent();

            new RadControlSpyForm().Show();

            this.SetupChart();

            this.radRangeSelector1.AssociatedControl = this.radChartView1;
            this.chartElement = this.radRangeSelector1.RangeSelectorElement.AssociatedElement as RangeSelectorViewElement;
            this.chartElement.SeriesInitializing += new SeriesInitializingEventHandler(chartElement_SeriesInitializing);
        }

        private void chartElement_SeriesInitializing(object sender, SeriesInitializingEventArgs e)
        {
            e.SeriesType = typeof(LineSeries);
        }

        private void SetupChart()
        {
            LineSeries lineSeries = new LineSeries();
            lineSeries.DataPoints.Add(new CategoricalDataPoint(20, "Jan"));
            lineSeries.DataPoints.Add(new CategoricalDataPoint(22, "Apr"));
            lineSeries.DataPoints.Add(new CategoricalDataPoint(12, "Jul"));
            lineSeries.DataPoints.Add(new CategoricalDataPoint(19, "Oct"));
            this.radChartView1.Series.Add(lineSeries);

            LineSeries lineSeries2 = new LineSeries();
            lineSeries2.DataPoints.Add(new CategoricalDataPoint(3, "Jan"));
            lineSeries2.DataPoints.Add(new CategoricalDataPoint(1, "Apr"));
            lineSeries2.DataPoints.Add(new CategoricalDataPoint(5, "Jul"));
            lineSeries2.DataPoints.Add(new CategoricalDataPoint(2, "Oct"));
            this.radChartView1.Series.Add(lineSeries2);
        }

        private void radButton1_Click(object sender, EventArgs e)
        {
            this.radRangeSelector1.Height = 100;
            //this.ScaleVerticallyChart(this.chartElement.View, .55);
        }
}

Workaround: zoom out along the Y axis the hosted chart element and pan the view so that all series are visible
private void radButton1_Click(object sender, EventArgs e)
        {
            this.radRangeSelector1.Height = 100;
            this.ScaleVerticallyChart(this.chartElement.View, this.radRangeSelector1.Height / (float)150);
        }

        private void ScaleVerticallyChart(ChartView view, double verticalScaleFactor)
        {
            FieldInfo fiPan = view.GetType().GetField("pan", BindingFlags.NonPublic | BindingFlags.Instance);
            RadPoint pan = (RadPoint)fiPan.GetValue(view);
            FieldInfo fiZoom = view.GetType().GetField("zoom", BindingFlags.NonPublic | BindingFlags.Instance);
            RadSize zoom = (RadSize)fiZoom.GetValue(view);

            double verticalPan = pan.Y * verticalScaleFactor / zoom.Height;
            CartesianArea area = view.GetArea<CartesianArea>();
            if (area != null)
            {
                MethodInfo mi = area.GetType().GetMethod("GetCartesianClipRect", BindingFlags.NonPublic | BindingFlags.Instance);
                RectangleF rect = (RectangleF)mi.Invoke(area, new object[] { });
                SizeF areaSize = rect.Size;
                verticalPan += areaSize.Height - (areaSize.Height * verticalScaleFactor + verticalPan);
            }

            zoom = new RadSize(1, verticalScaleFactor);
            fiZoom.SetValue(view, zoom);
            view.Layout();
        }
Unplanned
Last Updated: 04 Apr 2016 13:12 by ADMIN
To reproduce:

Add a RadChartView and setup drilldown. Add a RadRangeSelector and associate the chart with it. Start the application and drill down, you will see that the layout of the chart is not updated accordingly.

Workaround:

In the Drill event handler save a value whether a drill has occured. On the MouseUp event of RadChartView update the layout of the chart:

private bool drill;
void Chart_Drill(object sender, DrillEventArgs e)
{
    drill = true;
}

void Chart_MouseUp(object sender, MouseEventArgs e)
{
    if (this.drill)
    {
        Application.DoEvents();
        (this.rangeSelector.RangeSelectorElement.AssociatedElement as IRangeSelectorElement).UpdateAssociatedView();
    }

    drill = false;
}
Unplanned
Last Updated: 30 Mar 2016 10:47 by ADMIN
ADMIN
Created by: Peter
Comments: 0
Category: RangeSelector
Type: Bug Report
1

			
Unplanned
Last Updated: 30 Mar 2016 10:47 by ADMIN
Use the following sample code to reproduce the issue:

LineSeries series = new LineSeries();
series.ValueMember = "Value";
series.CategoryMember = "Category";
this.radChartView1.Series.Add(series);

DataTable table = new DataTable();

table.Columns.Add("Category", typeof(int));
table.Columns.Add("Value", typeof(int));
double value = 100;

for (int i = 0; i < 1000; i++)
{
    value += rnd.Next(-3, +4);

    table.Rows.Add(i, value);
}

series.DataSource = table;

this.radRangeSelector1.AssociatedControl = this.radChartView1;