Page 1 of 1
How to get new point index after zoom
Posted: Mon Jun 11, 2007 6:17 am
by 9644471
I draw a fastline in webchart.
When user zoom the webchart, how can I get the new point index.
Example:
If this fastline has 100 point.
And when user zoom the webchart(if user select index 30 to 40).
Webchart will show new scale in point 30 to 40.
How can I know user zoom index 30 to 40.
Posted: Mon Jun 11, 2007 10:31 am
by 9348258
Hi scott
You can know the user zoom index, as below code:
Code: Select all
protected void Page_Load(object sender, EventArgs e)
{
Steema.TeeChart.Chart ch1 = WebChart1.Chart;
MemoryStream tmpChart = new MemoryStream();
if (Session["ch1"] == null)
{
//setup Chart
ch1.Aspect.View3D = false;
if (ch1.Series.Count < 1)
ch1.Series.Add(new Steema.TeeChart.Styles.Points());
ch1.Series[0].FillSampleValues(36);
//export Chart to a MemoryStream template
ch1.Export.Template.Save(tmpChart);
//save template to a Session variable
Session.Add("ch1", tmpChart);
}
else
{
//retrieve the session stored Chart
tmpChart = (MemoryStream)Session["ch1"];
//set the Stream position to 0 as the last read/write
//will have moved the position to the end of the stream
tmpChart.Position = 0;
//import saved Chart
WebChart1.Chart.Import.Template.Load(tmpChart);
//check whether zoom request is being sent
CheckZoom(WebChart1);
//User zoom index:
Bitmap bmp = WebChart1.Chart.Bitmap((int)WebChart1.Width.Value, (int)WebChart1.Height.Value);
int first = WebChart1.Chart.Series[0].FirstVisibleIndex;
int last = WebChart1.Chart.Series[0].LastVisibleIndex;
WebChart1.Chart.Header.Text = "first : " + first.ToString() + " last: " + last.ToString();
}
}
private void CheckZoom(WebChart wChart)
{
ArrayList zoomedState = (ArrayList)Session[wChart.ID + "Zoomed"];
zoomedState = ((Steema.TeeChart.Tools.ZoomTool)wChart.Chart.Tools[0]).SetCurrentZoom(Request, zoomedState);
if (zoomedState == null)
Session.Remove(wChart.ID + "Zoomed");
else
Session.Add(wChart.ID + "Zoomed", zoomedState);
}