logo资料库

ZedGraph控件详细使用方法.doc

第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
资料共13页,剩余部分请下载后查看
用 ZedGraph 控件画统计分析图 由于朋友需要把 C1WebChart.替换掉,改用开源的 ZedGraph 控件.以下做一个示例, 供大家参考: 步骤如下: 1、添加 ZedGraph 控件。如下图: 2、添加到控制面版。如下图: 3、制作用户控件。 a> 建立一个命名为: DrawGrap.ascx 用户控件。 b> 通过控制面版,把 ZedGraphWeb 拖到默认页面。 如下图:
c> 生成代码(DrawGrap.ascx)如下: <%@ Control Language="C#" AutoEventWireup="true" CodeFile="DrawGrap.ascx.cs " Inherits="DrawGrap" %> <%@ Register TagPrefix="zgw" Namespace="ZedGraph.Web" Assembly="ZedGraph.Web " %> d> 生成代码(DrawGrap.ascx.cs)如下: using System; using System.Data; using System.Configuration; using System.Collections; using System.Web;
using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Drawing; using ZedGraph; using ZedGraph.Web; using System.Collections.Generic; /// /// 显示统计图形类型 /// public enum AnalyticsType { Line, //折线图 Bar, //柱状图 Pie //饼图 }; public partial class DrawGrap : System.Web.UI.UserControl { Private Attribute Public Property protected void Page_Load(object sender, EventArgs e) { zedGraphControl.RenderGraph += new ZedGraph.Web.ZedGraphWebControlEventH andler(zedGraphControl_RenderGraph); }
private void InitDefaultColors() { defaultColors.Add(Color.Red); defaultColors.Add(Color.Green); defaultColors.Add(Color.Blue); defaultColors.Add(Color.Yellow); defaultColors.Add(Color.YellowGreen); defaultColors.Add(Color.Brown); defaultColors.Add(Color.Aqua); defaultColors.Add(Color.Cyan); defaultColors.Add(Color.DarkSeaGreen); defaultColors.Add(Color.Indigo); } /// /// 如果属性为空则初始化属性数据 /// private void InitProperty() { InitDefaultColors(); if (string.IsNullOrEmpty(Title)) { Title = "未命名统计图"; } if (string.IsNullOrEmpty(XAxisTitle)) { XAxisTitle = "横轴"; } if (string.IsNullOrEmpty(YAxisTitle))
{ YAxisTitle = "纵轴"; } if (Type == AnalyticsType.Pie) { Count = ScaleData.Count; } else { Count = DataSource.Count; } if (Colors.Count == 0 || Colors.Count != Count) { Random r = new Random(); int tempIndex = 0; List tempIndexList = new List(); for (int i = 0; i < Count; i++) { tempIndex = r.Next(defaultColors.Count); if (tempIndexList.Contains(tempIndex)) { i--; } else { tempIndexList.Add(tempIndex); Colors.Add(defaultColors[tempIndex]); } } }
if (NameList.Count == 0) { if (Type == AnalyticsType.Bar) { for (int i = 0; i < DataSource[0].Count; i++) { NameList.Add("第" + i.ToString() + "组"); } } else { for (int i = 0; i < Count; i++) { NameList.Add("第" + i.ToString() + "组"); } } } if (LabelList.Count == 0) { for (int i = 0; i < Count; i++) { LabelList.Add("含义" + i.ToString()); } } } /// /// 画图 /// /// ///
/// private void zedGraphControl_RenderGraph(ZedGraph.Web.ZedGraphWeb webObje ct, System.Drawing.Graphics g, ZedGraph.MasterPane pane) { InitProperty(); GraphPane myPane = pane[0]; myPane.Title.Text = Title; myPane.XAxis.Title.Text = XAxisTitle; myPane.YAxis.Title.Text = YAxisTitle; //if (true) //{ // DrawMessage(myPane, "yiafdhaskjhfasfksahfasdlhfaslf lasgfasglgsadi"); pane.AxisChange(g); return; // // //} switch (Type) { case AnalyticsType.Line: DrawLine(myPane); break; case AnalyticsType.Bar: DrawBar(myPane); break; case AnalyticsType.Pie: DrawPie(myPane); break;
default: break; } pane.AxisChange(g); } Draw } e> 用户控件制作完成。 4、对控件的使用。 a> 创建测试页面(DrawGrap.aspx) b> 把用户控件 DrawGrap.ascx 拖到默认的测试页面上(DrawGrap.aspx) c> 后台代码如下: using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class DrawGrap : System.Web.UI.Page
分享到:
收藏