彩票走势图

TeeChart Pro .Net汉化教程十三:WebChart工具及示例

原创|其它|编辑:郝浩|2012-07-12 00:53:25.000|阅读 850 次

概述:WebChart工具可以从Editor Tools调色板中添加一个WebChart。许多non-WebChart专用工具可用于WebCharts,除了那些响应鼠标移动(除WebChart工具本身所涵盖的)。所有工具的技术都在TeeChart 汉化版的WebChart示例中进行了描述。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

WebChart工具可以从Editor Tools调色板中添加一个WebChart。许多non-WebChart专用工具可用于WebCharts,除了那些响应鼠标移动(除WebChart工具本身所涵盖的)。所有工具的技术都在TeeChart 汉化版的WebChart示例中进行了描述。

HotspotTool

该工具用最简单的形式激活一个鼠标悬停在数据点的标签,显示为鼠标通过了一点。HotspotTool也可用于WinForm Charts,但操作性质不同于此处所描述的WebChart。WebChart HotspotTool生成与每个数据点相关联的 区域。一个Map Action 可以从下面的选项中来选择:

  • Mark - 根据选择的Style选项显示一个Point Mark。
  • URL - 当一个数据点被点击时连接到URL。
  • Script - 当一个数据点被点击时运行客户端脚本。

Mark

使用Style属性来定义Mark Style。

例子(通过代码实现)

Steema.TeeChart.Tools.SeriesHotspot hotspotTool =  

         ((Steema.TeeChart.Tools.SeriesHotspot)WebChart1.Chart.Tools[0]);

hotspotTool.MapAction = Steema.TeeChart.Styles.MapAction.Mark;

hotspotTool.Style =  Steema.TeeChart.Styles.MarksStyles.LabelPercentTotal;

URL

使用GetHTMLMap事件来设置的一个被数据点调用的URL。您可以通过编辑器来设置URL选项,但是您必须对事件进行编码来设置当前URL。

例子

//init code....

Steema.TeeChart.Tools.SeriesHotspot hotspotTool =  

         ((Steema.TeeChart.Tools.SeriesHotspot)WebChart1.Chart.Tools[0]);

 

hotspotTool.GetHTMLMap += new Steema.TeeChart.Tools.SeriesHotspotEventHandler(hotspotTool_GetHTMLMap);

 

//event code:

private void hotspotTool_GetHTMLMap(Steema.TeeChart.Tools.SeriesHotspot sender, Steema.TeeChart.Tools.SeriesHotspotEventArgs e)

{

     if (CheckBox1.Checked)  //open new window?

        e.PointPolygon.Attributes="target='_blank'";

     else

        e.PointPolygon.Attributes="target='_self'";        tab

     if (e.Series==WebChart1.Chart.Series[0]) e.PointPolygon.HREF="//" + TextBox1.Text; //set URL according to textbox text + TextBox1.Text; //set URL according to textbox text

     if (e.Series==WebChart1.Chart.Series[1]) e.PointPolygon.HREF="//" + TextBox2.Text;

     if (e.Series==WebChart1.Chart.Series[2]) e.PointPolygon.HREF="//" + TextBox3.Text; + TextBox3.Text;

     if (e.Series==WebChart1.Chart.Series[3]) e.PointPolygon.HREF="//" + TextBox4.Text;

}

Script

Script选项可以用来处理客户端内容或者您通过JavaScript想要添加到图表的value-add。当Script被当作一个选项选择时,TeeChart添加此选项来使用一个辅助脚本,现有的:‘Annotation’(参考Steema.TeeChart.Tools.HotspotHelperScripts)。您也可以不选择Helperscript并自己定义一个输出。

Annotation示例:

protected void Page_Load(object sender, System.EventArgs e)

{

  //initialization

  Chart ch1 = WebChart1.Chart;

  Steema.TeeChart.Themes.ColorPalettes.ApplyPalette(ch1, 9);

  Steema.TeeChart.Tools.SeriesHotspot hotspot1 =
new Steema.TeeChart.Tools.SeriesHotspot();

  ch1.Legend.Visible = false;

  ch1.Tools.Add(hotspot1);

  hotspot1.MapAction = Steema.TeeChart.Styles.MapAction.Script;

  hotspot1.GetHTMLMap += new Steema.TeeChart.Tools.SeriesHotspotEventHandler(hotspot1_GetHTMLMap);

  //....etc... more init code

}

private void hotspot1_GetHTMLMap
(Steema.TeeChart.Tools.SeriesHotspot sender, Steema.TeeChart.Tools.SeriesHotspotEventArgs e)

{

     //This example calls a Bar Series but e.Series and e.PointPolygon.ValueIndex could be sent

     //as arguments for a drilldown query.

     //The prepared HelperScriptAnnotation text accepts your text as a variable for the Annotation

     //In the following case it calls an aspx script to generate and return a Chart as an image

     e.PointPolygon.Attributes=String.Format(Texts.HelperScriptAnnotation,

    "<IMG SRC=ShowSeries.aspx?seriestype=Bar&view=False&width=100&height=80>");

     //The annotation could, alternatively, present text in the mouseover hint, eg.:

     //e.PointPolygon.Attributes=
String.Format(Steema.TeeChart.Texts.HelperScriptAnnotation,"hello world.");

}

在上面例子中使用的HelperScriptAnnotation如下:

HelperScriptAnnotation ="onmouseover=\"ShowAnnotation('{0}');\"
onmouseout=\&quot;ShowAnnotation('');\"";

如果你要添加您自己的输出,您需要调用自己的代码。

例子

string myProcess = ="onmouseover=\"ShowAssociatedDataTable('{0}');\"
onmouseout=\"ShowAssociatedDataTable('');\"";

e.PointPolygon.Attributes=
String.Format(myProcess,e.PointPolygon.ValueIndex.ToString());

于是你可以自定义ShowAssociatedDataTable方法以显示相关的数据表。

ScrollTool

ScrollTool向WebChart的底部添加一个滚动条。你可以设置图表可见部分的大小和起始位置。图表也可以拖动,虽然该功能可能会不尽人意。ScrollTool可于HotspotTool结合起来组合。

使用编辑器添加一个ScrollTool将自动设置图表为2D并且移动较低的坐标轴来空出滚动条的空间。在设计时,滚动条是不可见的。

ViewSegmentSize和StartPosition与SegmentViewUnits结合起来使用可以设置滚动的大小。

例子

Steema.TeeChart.Tools.ScrollTool scrollTool =&nbsp; 

  ((Steema.TeeChart.Tools.ScrollTool)WebChart1.Chart.Tools[0]);

scrollTool.StartPosition = 30;

scrollTool.SegmentViewUnits = Steema.TeeChart.Tools.ScrollToolViewUnit.percent;

scrollTool.ViewSegmentSize = 20;

如果您想要使用Windows onload事件请参阅 Window onload事件 章节。

ZoomTool

ZoomTool允许选择一个图表子区域进行缩放处理。该区域可以通过在图表上拖动鼠标来进行选择,Zoom co-ordinates被返回到服务器用来创建一个可缩放区域。如果反方向拖动那么该区域是不可以缩放的。

为了能够使用ZoomTool,您需要在页面代码中添加下面的方法。

Using Session:

private void CheckZoom(WebChart wChart)

{

     ArrayList zoomedState=(ArrayList)Session[wChart.ID+"Zoomed"];

     zoomedState=((Steema.TeeChart.Tools.ZoomTool)
wChart.Chart.Tools[0]).SetCurrentZoom(Request,

      &nbsp; zoomedState);

     if (zoomedState==null)

        Session.Remove(wChart.ID+"Zoomed");

     else

        Session.Add(wChart.ID+"Zoomed",zoomedState);

}

或者Page.Cache:

private void CheckZoom(WebChart wChart)

{

  ArrayList zoomedState = (ArrayList)Page.Cache[wChart.ID + "Zoomed"];

  zoomedState = ((Steema.TeeChart.Tools.ZoomTool)

wChart.Chart.Tools[0]).SetCurrentZoom(Request,

    zoomedState);

  if (zoomedState == null)

    Page.Cache.Remove(wChart.ID + "Zoomed");

  else

    Page.Cache.Add(wChart.ID + "Zoomed", zoomedState);

}

Page_Load方法结束后调用此方法,传递您想要缩放的图表的名称。

例子

CheckZoom(WebChart1)

图表上任何没有x或y位移的点击/拖动都当成一个点击发送回服务器,而不是一个缩放。如果您想要使用Windows onload事件请参阅 Window onload event章节。

Window onload事件

当一个Zoom或者Scroll Tool添加到您的WebChart时,您需要使用Window.onload事件来初始化Tool的特性。如果您想要进一步根据自己的需求来使用onload事件,那么请在页面上添加一个新功能来调用windowOnload事件并在事件中使用您自己的代码。

例如:在页面的<HEAD>标签中添加windowOnload事件

<script language=javascript>

function windowOnload()  

{

   window.status = new Date().getTime();

}

</script>

 

 


(慧都控件网版权所有,转载请注明出处,否则追究法律责任)
标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP