原創|其它|編輯:郝浩|2012-07-10 22:13:12.000|閱讀 890 次
概述:TeeChart是通過WebChart TeeChart控件與WebForms集成的。WebChart可以在標準TeeChart.NET中文版安裝中的工具箱中找到。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
TeeChart是通過WebChart TeeChart控件與WebForms集成的。WebChart可以在標準TeeChart.NET中文版安裝中的工具箱中找到。
TooBox中WebChart的圖標
向窗體添加一個圖表
使用圖表編輯器和屬性選項來進行設計
圖表編輯器提供了多種選項來配置圖表在運行時的很多問題。設置會被保存到WebForm。請參閱關于圖表編輯器使用的教程1和教程2,WebChart編輯器的使用與基于圖表的Windows窗體的使用是完全相同的。
圖像格式(PictureFormat)
WebChart就像一張圖片顯示在WebForm上,默認的格式是PNG,但您可以在Properties Windows中通過PictureFormat屬性來進行修改。由于網頁的一致性,我們推薦使用PNG,JPEG或者GIF格式,盡管Internet Explorer也支持Bitmap格式。
使用GIF圖像格式
相對于全部彩色復制,GIF使用了256色的縮小,所以我們建議您使用其它圖像格式的一種。
TempChart屬性可以用來選擇臨時圖表創建后及在網頁上顯示前的保存方式。這里有4個可用的設置:
性能與所有的緩存技術是類似的,但磁盤性能可能會積極地或消極地影響使用'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變量,有兩個條件必須為真:
<sessionState
mode="InProc"
InProc是默認的設置并且意味著Session已經被應用程序激活。
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保存到Session緩存的圖表,該腳本不僅向瀏覽器返回了圖表而且從緩存中移除了圖表。
Cache
Cache選項與安裝到Session Chart緩存選項十分相似。'Cache'是一個實用的選項,因為它使用的緩存對象屬于ASP.NET WebForm頁面。鑒于'Session'會受到某些Web Servers的限制,因此使用Cache很容易對大多數ASP.NET應用程序進行配置(如在管理員選擇出于安全原因禁用會話支持)。
Cache選項要求使用GetChart.aspx文件。
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();
}
該腳本恢復了事先已經被WebChart保存到Page Cache的圖表,該腳本不僅向瀏覽器返回了圖表而且從緩存中移除了圖表。
Httphandler
HttpHandler選項使用內部的TeeChart(WebChart)生成器恢復該頁的圖表圖像。這個選項不需要產生任何臨時文件以及附加的aspx文件來恢復圖表(在Session和Cache的情況下)。該選項只需要對web.config文件做一個修改:
在web.config的<system.web> </system.web>標簽中的任何位置假如以下部分:
<system.web>
<httpHandlers>
<add verb="*" 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)
{
g.TextOut(xVal,yVal,"onAfterDraw");
}
上述事件將輸出文字到圖表上的一個由xVal和yVal變量值決定的位置
根據點擊的位置來設置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);
}
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網