WebForms
TeeChart通过WebChart TeeChart Control 集成用于WebForms 。可以在标准TeeChart.NET安装中的ToolBox中找到WebChart。
1. 将图表增加到表单
2. 使用图表编辑器和属性选项进行设计
图表编辑器提供了为运行时配置图表的大多数方面的选项。设置保存在WebForm中。有关图表编辑器的一般用法,请参阅教程1和2,使用WebChart的编辑器在所有方面与基于Windows窗体的图表的使用相同。
3. 图像格式(PictureFormat)
WebChart在WebForm上呈现为图像,默认格式为PNG,但可以通过Properties Windows中的PictureFormat属性进行更改。为了与网页兼容,我们建议使用PNG,JPEG或者GIF格式,但Internet Explorer浏览器也支持Bitmap。
使用GIF图像格式 GIF使用256色减少,因而对于全色再现,我们建议您使用其余图像格式之一。 *注意请注意,您对GIF图像格式的使用可能需要受权。
3. TempChart属性-File,Session,Cache或者Httphandler
TempChart属性可用于选择在创立之后和浏览器页面上显示之前应如何存储临时图表。有4种可用设置:
Performance相似于所有缓存技术,但磁盘性能可能会影响正面或者负面使用'File'选项来生成TempChart,使'File'可以是最快的选项。
3.1 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计划任务,请使用当前版本检查TeeChart包含。
3.2 Session
Session是临时文件存储的设置,它不会在磁盘上留下任何文件并删除其自己的缓存内存文件(另请参阅Cache和Httphandler选项)。在某些情况下,您可能会发现它比临时磁盘文件稍慢。要使用Session变量成功运行Chart,必需满足两个条件:
必需为应用程序启用会话。'Enabled'是默认行为,可以在项目web.config文件中检查:
mode="InProc"
InProc是默认设置,表示为此应用程序启用了Session。
您应该包含一个aspx脚本板块以从内存中检索图表。aspx脚本的名称应该称为'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)
{
System.IO.MemoryStream chartStream = new System.IO.MemoryStream();
chartStream=((System.IO.MemoryStream)Session[chartName]);
Response.ContentType = "image/" + "png";
Response.OutputStream.Write(chartStream.ToArray(),0,(int)chartStream.Length);
chartStream.Close();
Session.Remove(chartName);
}
}
该脚本恢复了WebChart先前保存到会话缓存的图表。该脚本将图表返回给浏览器并将其从缓存中删除。
3.3 Cache
缓存选项在设置中与会话图缓存选项非常类似。'Cache'是一个实用的选项,由于它使用属于ASP.NET WebForm页面的Cache对象,因而很容易出现在大多数ASP.NET应用程序配置中,而'Session'容易受到某些Web服务器的管理限制(即,出于安全起因,管理员已选择禁用会话支持)。
缓存选项需要使用GetChart.aspx文件。
您应该包含一个aspx脚本板块以从内存中检索图表。aspx脚本的名称应该称为'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 (Page.Cache[chartName]!=null)
{
MemoryStream chartStream = new MemoryStream();
chartStream=((MemoryStream)Page.Cache[chartName]);
Response.ContentType = "image/" + "png";
Response.OutputStream.Write(chartStream.ToArray(),0,(int)chartStream.Length);
chartStream.Close();
}
}
3.4 Httphandler
Httphandler选项使用内部TeeChart(WebChart)生成器来恢复页面的图表图像。该选项不生成临时文件,并且不需要额外的aspx文件来恢复图表(如会话和缓存选项的情况)。该选项需要对web.config文件进行一次修改:
VSNet 2010之前的早期版本VSNET。在web.config < system.web > < /system.web> tages之间的任何位置放置以下部分:
/*..content cut for brevity ..*/
VSNET的后续版本,VSNET2010 +:
/*..content cut for brevity ..*/
**注意。使用TeeChart.Standard.dll时,请在teechart.standard的末尾替换“TeeChart”。
4 使用交互式图表事件(图表中没有WebChart工具时,AutoPostback属性为True)
响应客户鼠标点击图表的加载事件和运行时交互式事件可以与TeeChart的WebChart一起使用。不需要采取特殊操作来使用诸如'AfterDraw'之类的绘制事件,可以从Property浏览器事件列表中选择Chart事件。假如图表中没有TeeChart WebChart Tool(如Zoom,Scroll或者Hotspot),则应将AutoPostback属性设置为True以启用交互式(客户点击)事件。假如存在上述工具,则会自动激活点击响应。对于交互式事件,图表将响应客户鼠标点击事件,将点击发生的位置信息发回服务器,而后服务器端代码可以对事件进行操作。而后,可以从属性浏览器事件列表中选择要使用的事件进行编码。 有关WebChart事件的更多信息,请参阅“事件示例”部分。
4.1 事件示例
假如您希望在WebChart中使用Click事件,例如ClickSeries,请务必将Chart AutoPostback设置为true。 可以通过在属性浏览器事件列表中
双击所需事件来设置事件:双击列表中的条目可创立代码内事件公告,例:
private int xVal;
private int yVal;
private void WebChart1_AfterDraw(object sender, Steema.TeeChart.Drawing.Graphics3D g)
{
g.TextOut(xVal,yVal,"onAfterDraw");
}
上述事件将在由xVal和yVal变量值决定的位置处将文本输出到Chart。 可以根据点击位置设置x和y值
private void WebChart1_ClickSeries(object sender, Steema.TeeChart.Series s, int valueIndex, System.EventArgs e)
{
xVal=s.CalcXPos(valueIndex);
yVal=s.CalcYPos(valueIndex);
}