Nevron Forum

How to get updated Zoom PagingView Range on Reset event???

https://www.nevron.com/Forum/Topic6596.aspx

By Niranjan Singh - Thursday, June 21, 2012

I have subscribed to the ScrollBar_Reset event and it does return the new ViewRange. View Range update after the reset button event.


// Reset Event


void ScrollBar_Reset(object sender, EventArgs e)
{
NRange1DD xAxisRange = new NRange1DD(chartPrimaryXAxis.ScrollBar.BeginValue, chartPrimaryXAxis.ScrollBar.EndValue);
//NRange1DD xAxisRange = chart.Axis(StandardAxis.PrimaryX).Scale.RulerRange;
DateTime startdate = DateTime.FromOADate(xAxisRange.Begin);
DateTime enddate = DateTime.FromOADate(xAxisRange.End);
NScrollBar scrollbar = (sender as NScrollBar);
System.Diagnostics.Debug.WriteLine("ScrollBar EndValueChanged: StartDate" +
DateTime.FromOADate(scrollbar.BeginValue) + "- End Date:" + DateTime.FromOADate(scrollbar.EndValue));

System.Diagnostics.Debug.WriteLine("Horizontal Axis Begin Value" + startdate.ToString());
System.Diagnostics.Debug.WriteLine("Horizontal Axis End Value" + enddate.ToString());
}


Does anyone know that how to track the paging view range change on reset button click?
By Nevron Support - Thursday, June 21, 2012

Hi Niranjan,

You can try to recalculate the control:

nChartControl1.Document.Calculate();
nChartControl1.RecalcLayout();

and then get the new range.

By Niranjan Singh - Thursday, June 21, 2012

I have modified code as you suggested but it is returning last zoomIn Range rather than reset range.

void ScrollBar_Reset(object sender, EventArgs e)
{
chartControl.Document.Calculate();
chartControl.RecalcLayout();
//chartControl.Document.RecalcLayout(chartControl.View.Context);

////dateTimeScale
//NRange1DD xAxisRange = chart.Axis(StandardAxis.PrimaryX).Scale.RulerRange;
//DateTime startdate = DateTime.FromOADate(xAxisRange.Begin);
//DateTime enddate = DateTime.FromOADate(xAxisRange.End);
//NScrollBar scrollbar = (sender as NScrollBar);
//DateTime startdate = DateTime.FromOADate(scrollbar.BeginValue);
//DateTime enddate = DateTime.FromOADate(scrollbar.EndValue);
DateTime startdate = DateTime.FromOADate(chartPrimaryXAxis.PagingView.ViewRange.Begin);
DateTime enddate = DateTime.FromOADate(chartPrimaryXAxis.PagingView.ViewRange.End);
System.Diagnostics.Debug.WriteLine("On ScrollBar Reset StartDate:" + startdate.ToString() + " - EndDate:" + enddate.ToString());
//UpdateResultsViewReloadState();
}


But it result same as before.
By Nevron Support - Friday, June 22, 2012

Hi Niranjan,

The reset button will simply disable the paging view - however obviosly this is done after the event is fired - to simulate that just use:

someAxis.PagingView.Enabled = false;

before you calculate the control. Hope this helps...

By Niranjan Singh - Thursday, June 28, 2012

If i do as you say, then it does not "ZoomIn" again and calculate view range value is returned as ResetMode = View.

primaryXAxis.PagingView.Enabled = false;
By Nevron Support - Thursday, June 28, 2012

Hi Niranjan,

Please submit a support ticket for further investigation of this request.