翻譯|使用教程|編輯:凌霄漢|2022-03-29 11:07:12.993|閱讀 203 次
概述:此次報表開發工具TeeChart Pro .NET使用教程將為大家帶來如何使用ASP.NET 應用程序。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
接下來繼續為大家介紹上一篇文章未講完的部分,如何使用ASP.NET 應用程序。
在 WebForm 中使用 WebChart 的替代方法是將 TeeChart 用作標準 asp (aspx) 頁面中的腳本化“不可見”控件。
TeeChart 可以通過內部 Chart 類在 ASP 中自由編寫腳本,但要利用 TeeChart 事件,我們建議使用 TChart Windows 窗體組件或 WebChart 控件
假設使用 TChart,您需要采取的初始步驟來設置 TeeChart 項目是:
客戶端瀏覽器頁面 (SeriesTypes.aspx) 包含一個圖像,其 IMG 鏈接是 aspx 服務器腳本 (ShowSeries.aspx)。客戶端頁面上的提交按鈕使用參數化 serverChart 處理所需的變量調用服務器腳本。該按鈕將變量作為參數的一部分發送,以設置客戶端頁面圖表圖像的 imageURL,因此返回基于處理參數的動態圖表。
要使用 TeeChart 服務器端進行編碼,請在腳本頁面上添加 using 到 TeeChart:
using Steema.TeeChart;
然后為 TChart 聲明一個變量,并在 Page_Load 事件開始時創建它
private void Page_Load(object sender, System.EventArgs e) { tChart=new TChart(); /* ...add Series and data, etc ... */ }
圖表檢索的關鍵代碼組件是:
客戶端“獲取”指令。 這可以通過提交按鈕或其他方式(例如組合框)啟動,并根據客戶端參數從服務器“獲取”圖表。 圖表請求可以作為“傳統的 Get url 行發送,其中參數作為一個 URL 行傳遞,或者可以通過 ASP.NET 的“在頁面之間傳遞服務器控制值”來完成。 調用服務器腳本的編碼將在 WebForms Code behind 頁面中進行。
private void sendInfo() { seriesType=DropDownList1.Items[DropDownList1.SelectedIndex].ToString(); viewType=CheckBox1.Checked.ToString(); Image1.ImageUrl="http://"+webServer /*use webserver variable for server*/ +"/TeeChartForNET/ASPStream/ProcessChart.aspx?seriestype=" +seriesType+"&view="+viewType; }
服務器腳本從客戶端接收 GET 請求并運行其 Page_Load 事件。 如果可以創建圖表并且接收的參數可用于定義圖表的填充方式。 然后將圖表呈現為圖像并作為流向客戶端返回。
private void Page_Load(object sender, System.EventArgs e) { tChart=new TChart(); tChart.AfterDraw += new Steema.TeeChart.TChart.PaintChartEventHandler(this.tChart_AfterDraw); /* ...add Series and data, etc ... */ //Process Get parameters received from client if (Request.QueryString["view"]=="False") tChart.Aspect.View3D=false; else tChart.Aspect.View3D=true; MemoryStream tempStream = new MemoryStream(); tChart.Export.Image.PNG.Save(tempStream); Response.ContentType="Image/PNG"; Response.OutputStream.Write(tempStream.ToArray(),0,(int)tempStream.Length); tempStream.Close(); }
通過在圖表創建后添加事件,可以為自由腳本 TeeChart ASP 應用程序添加圖表創建事件。
private void Page_Load(object sender, System.EventArgs e) { tChart=new TChart(); tChart.AfterDraw += new Steema.TeeChart.TChart.PaintChartEventHandler(this.tChart_AfterDraw); /* ...add Series and data, etc ... */ MemoryStream tempStream = new MemoryStream(); tChart.Export.Image.PNG.Save(tempStream); Response.ContentType="Image/PNG"; Response.OutputStream.Write(tempStream.ToArray(),0,(int)tempStream.Length); tempStream.Close(); } private void tChart_AfterDraw(object sender, Steema.TeeChart.Drawing.Graphics3D g) { string tmpStr="Copyright My Organisation "+DateTime.Now.ToString(); g.TextOut(g.Chart.Width-(int)g.TextWidth(tmpStr)-5,g.Chart.Height-(int)g.TextHeight("H")-3,tmpStr); }
AfterDraw 事件代碼將在圖表創建時執行,在這種情況下,當圖表呈現為圖像時,相關消息將包含在圖表畫布上。 如果您希望在客戶端頁面圖表上使用基于用戶鼠標點擊的交互式事件,我們建議您在 WebForm 上使用 WebChart 組件。
通過安裝程序安裝 .NET 的默認 TeeChart 創建的文件夾和 IIS 虛擬文件夾足以訪問 TeeChart 中包含的 ASP.NET 示例。 WebForm 應用程序假定在 IIS 中激活會話支持以移動臨時圖表信息。 可以在 Visual Studio.NET 中修改示例項目以使用“文件”作為臨時存儲圖表的媒介。 在 Windows 2000 中運行良好的測試中。在 Windows 2003 中,默認安裝的附加安全限制限制了使用默認“_chart_temp”文件夾的可能性(臨時文件夾的名稱和位置是可配置的)。 在 Win2003 服務器中,系統管理員必須修改安全權限,以允許相關 ASP.NET 應用程序將臨時文件保存到磁盤。
WebChart 工具可用于從編輯器工具面板添加到 WebChart。 許多非 WebChart 特定的工具可以與 WebChart 一起使用,除了那些響應鼠標移動的工具(除了下面介紹的 WebChart 工具本身)。
該工具以最簡單的形式激活數據點鼠標懸停標簽,當鼠標經過一個點時顯示。 熱點工具也可用于 Winform 圖表,但 WebChart 的操作性質不同,如此處所述。 WebChart Hotspot Tool 生成與每個數據點關聯的地圖區域。 可以從以下選項中選擇地圖操作:
使用 Style 屬性定義標記樣式。
Steema.TeeChart.Tools.SeriesHotspot hotspotTool = ((Steema.TeeChart.Tools.SeriesHotspot)WebChart1.Chart.Tools[0]);
使用 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="http://" + 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="http://" + TextBox2.Text; if (e.Series==WebChart1.Chart.Series[2]) e.PointPolygon.HREF="http://" + TextBox3.Text; + TextBox3.Text; if (e.Series==WebChart1.Chart.Series[3]) e.PointPolygon.HREF="http://" + TextBox4.Text; }
腳本選項可用于處理您可能希望通過 Javascript 添加到圖表的任何自定義內容或增值。 選擇腳本作為選項TeeChart時,請選中使用幫助程序腳本的選項,當前可用:'注釋'。 您可以選擇不使用 Helperscript 并定義您自己的輸出。
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); //The annotation could, alternatively, present text in the mouseover hint, eg.: //e.PointPolygon.Attributes=String.Format(Steema.TeeChart.Texts.HelperScriptAnnotation,"hello world."); }
ScrollTool 將滾動條添加到 WebChart 的底部。 您可以設置圖表的可見部分大小和起始位置。 圖表也是可拖動的,盡管該功能可能被停用。 ScrollTool 可以與 Hotspot Tool 結合使用。
使用編輯器添加 ScrollTool 會自動將 Chart 設置為 2D 并移動下 Axis 以為滾動條留出空間。 滾動條在設計時不可見。
將 ViewSegmentSize 和 StartPosition 與 SegmentViewUnits 結合使用來設置可滾動大小。
Steema.TeeChart.Tools.ScrollTool scrollTool = ((Steema.TeeChart.Tools.ScrollTool)WebChart1.Chart.Tools[0]); scrollTool.StartPosition = 30; scrollTool.SegmentViewUnits = Steema.TeeChart.Tools.ScrollToolViewUnit.percent; scrollTool.ViewSegmentSize = 20;
ZoomTool 允許選擇要處理的圖表的子區域以進行縮放。 可以通過鼠標在圖表區域上拖動來選擇該區域,縮放坐標返回到服務器以創建一個縮放區域。 該區域可以通過在相反方向拖動來取消縮放。
要使用 ZoomTool,您應該將以下方法添加到您的頁面代碼中。
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); }
或 Page.Cache:
{ 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); }
將縮放或滾動工具添加到 WebChart 時,需要使用 Window.onload 事件來初始化工具的特征。 如果您需要根據自己的需要進一步使用 onload 事件,請在頁面中添加一個名為 windowOnload 的新函數并將您的代碼放在那里。
如果您想了解TeeChart for .NET正版價格,歡迎咨詢
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn