彩票走势图

TeeChart Pro .Net汉化教程十一:WebForms 示例

原创|其它|编辑:郝浩|2012-07-10 22:13:12.000|阅读 869 次

概述:TeeChart是通过WebChart TeeChart控件与WebForms集成的。WebChart可以在标准TeeChart.NET中文版安装中的工具箱中找到。

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

WebForms

TeeChart是通过WebChart TeeChart控件与WebForms集成的。WebChart可以在标准TeeChart.NET中文版安装中的工具箱中找到。

teechar控件,teechart图表,teechart中文版,webchart,WebForms

TooBox中WebChart的图标

向窗体添加一个图表

  • 在ToolBox中选择WebChart组件并拖拽到WebForm上,然后调整它的大小
  • 右击图表选择“Edit...”选项从而打开图表编辑器
  • 使用图表编辑器您可以添加和修改数据序列、坐标轴以及图表的其它特性。

使用图表编辑器和属性选项来进行设计

图表编辑器提供了多种选项来配置图表在运行时的很多问题。设置会被保存到WebForm。请参阅关于图表编辑器使用的教程1和教程2,WebChart编辑器的使用与基于图表的Windows窗体的使用是完全相同的。

teechar控件,teechart图表,teechart中文版,webchart,WebForms

图像格式(PictureFormat)

WebChart就像一张图片显示在WebForm上,默认的格式是PNG,但您可以在Properties Windows中通过PictureFormat属性来进行修改。由于网页的一致性,我们推荐使用PNG,JPEG或者GIF格式,尽管Internet Explorer也支持Bitmap格式。

使用GIF图像格式

相对于全部彩色复制,GIF使用了256色的缩小,所以我们建议您使用其它图像格式的一种。

 

TempChart属性可以用来选择临时图表创建后及在网页上显示前的保存方式。这里有4个可用的设置:

  • File
  • Session
  • Cache
  • Httphandler

性能与所有的缓存技术是类似的,但磁盘性能可能会积极地或消极地影响使用'File'选项来产生TempChart,所以‘File’是最快的选择。

File

如果你想要把临时文件写到磁盘上,那么就可以使用File设置。默认情况下,TeeChart安装时就创建了关于临时文件位置的注册表键值和虚拟文件夹的名称。注册表键值如下所示:

[HKEY_LOCAL_MACHINE\SOFTWARE\Steema Software\TeeChart.NET]

"VirtualShare"="/TeeChartForNET"

"ShareFolder"="C:\\Program Files\\Steema Software\\TeeChart for .NET v3\\TeeChartForNET"

 

 

如果接受默认的安装位置,以上设置是在标准的英语语言机器上所创建的。TeeChartNET虚拟文件夹是被TeeChart安装文件建立的。您可以更改这些注册表设置的前提是你创建必要的IIS虚拟共享位置,以反映新的注册表值。

WebChart把文件保存到ShareFolder注册表键值下一个名为_Chart_tmp的文件夹中。

临时文件不会被TeeChart删除,虽然一个应用程序可能会像Windows预设任务一样自动的为你这样做,请检查当前版本TeeChar所含内容。

Session

Session是一个在磁盘上不留下任何文件的临时文件存储的设置,并删除自己已缓存的内存文件(也可参阅见Cache和HttpHandler选项)。在某些情况下,你可能会发现它略慢于临时磁盘文件。图表能够成功运行Session变量,有两个条件必须为真:

  • Session必须被应用程序激活。‘Enabled’是默认的方式,您可以在项目中的web.config文件中进行确认:
  •  &nbsp;  <sessionState  

       mode="InProc"

    InProc是默认的设置并且意味着Session已经被应用程序激活。

  • 您需要包含一个aspx script模块来从Memory中检索图表。aspx script的名称可以称为‘GetChart’。一个包含TeeChart发布的WebForm ASP.NET的例子,要从头创建一个新的GetChart模块需要在您的项目中添加一个新的WebForm(或者是任何aspx文件)命名为'GetChart'并将下面的代码添加到Page_Load事件中:

     

    GetChart.aspx.cs

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

            {

          ;      string chartName=Request.QueryString["Chart"];

     

                if (Session[chartName]!=null)

              &nbsp; {

       &nbsp; &nbsp;          System.IO.MemoryStream chartStream = new System.IO.MemoryStream();

          &nbsp;         chartStream=((System.IO.MemoryStream)Session[chartName]);

                   &nbsp;Response.ContentType = "image/" + "png";

                 &nbsp;  Response.OutputStream.Write(chartStream.ToArray(),0,(int)chartStream.Length);

           &nbsp;        chartStream.Close();

                    Session.Remove(chartName);

                }

            }

    该脚本恢复了事先已经被WebChart保存到Session缓存的图表,该脚本不仅向浏览器返回了图表而且从缓存中移除了图表。

    Cache

    Cache选项与安装到Session Chart缓存选项十分相似。'Cache'是一个实用的选项,因为它使用的缓存对象属于ASP.NET WebForm页面。鉴于'Session'会受到某些Web Servers的限制,因此使用Cache很容易对大多数ASP.NET应用程序进行配置(如在管理员选择出于安全原因禁用会话支持)。

    Cache选项要求使用GetChart.aspx文件。

  • 您需要包含一个aspx script模块来从Memory中检索图表。aspx script的名称可以称为‘GetChart’。一个包含TeeChart发布WebForm ASP.NET的例子的例子。要从头创建一个新的GetChart模块需要在您的项目中添加一个新的WebForm(或者是任何aspx文件)命名为'GetChart'并将下面的代码添加到Page_Load事件中:

    GetChart.aspx.cs

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

            {

                string chartName=Request.QueryString["Chart"];

           &nbsp;    if (Page.Cache[chartName]!=null)

    &nbsp;          &nbsp;{

                 ;   MemoryStream chartStream = new MemoryStream();

                    chartStream=((MemoryStream)Page.Cache[chartName]);

                    Response.ContentType = "image/" + "png&quot;;

                    Response.OutputStream.Write(chartStream.ToArray(),0,(int)chartStream.Length);

        ;            chartStream.Close();

      &nbsp;         }

    该脚本恢复了事先已经被WebChart保存到Page Cache的图表,该脚本不仅向浏览器返回了图表而且从缓存中移除了图表。

    Httphandler

    HttpHandler选项使用内部的TeeChart(WebChart)生成器恢复该页的图表图像。这个选项不需要产生任何临时文件以及附加的aspx文件来恢复图表(在Session和Cache的情况下)。该选项只需要对web.config文件做一个修改:

    在web.config的<system.web> </system.web>标签中的任何位置假如以下部分:

    <system.web>

      <httpHandlers>

           <add verb="*&quot; path="TeeChartImgGen.ashx" type="Steema.TeeChart.Web.TeeChartImgGen, TeeChart"/>

      </httpHandlers>

    /*..content cut for brevity ..*/

    </system.web>

    使用交互式图表事件(当Chart没有WebChart Tools时,AutoPostBack属性为True)

    图表中的Load事件和在运行时响应用户鼠标点击的交互事件可能用于TeeChart的WebChart。没有特别的动作需要使用绘制事件如'AfterDraw',我们可以从属性浏览器的事件列表来选择一个图表事件。如果没有TeeChart WebChart Tool如Zoom,Scroll或者Hotspot显示在图表中,您需要设置AutoPostback属性为True来激活交互(用户点击)事件。对于交互事件,如果上述Tools是当前点击自动激活的反应,图表将响应用户的鼠标点击事件,回发在哪里发生的点击的信息到服务器,于是你的服务器端代码可以采取针对该事件的行动。你可以从属性浏览器的事件列表选择想要使用的事件,然后对该事件进行编码。

    参阅‘Event example’教程获取更多关于WebChart事件的信息。

    事件举例

    如果您想要在WebChart中使用一个Click事件如ClickSeries,请确认图表的AutoPostback设置为True。

    事件可以通过双击在属性浏览器事件列表中需要的事件来进行设置:

    双击列表中的一个条目创建代码事件的声明。

    例子

           ; private int xVal;

            private int yVal;

            private void WebChart1_AfterDraw(object sender, Steema.TeeChart.Drawing.Graphics3D g)

            {

             &nbsp;  g.TextOut(xVal,yVal,"onAfterDraw");

            }

    上述事件将输出文字到图表上的一个由xVal和yVal变量值决定的位置

     

    根据点击的位置来设置x和y的值。

            private void WebChart1_ClickSeries(object sender, Steema.TeeChart.Series s, int valueIndex, System.EventArgs e)

            {

    &nbsp;    &nbsp;      xVal=s.CalcXPos(valueIndex);

        &nbsp;       yVal=s.CalcYPos(valueIndex);   ; 

            }

 



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

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

文章转载自:慧都控件网

为你推荐

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


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP