医药CRM系统开发

自已做医药CRM系统有四年了,终于可以算个产品了,努力市场化,今年重种将医药营销的理念加入CRM

导航

ZedGraph在Asp.net中的应用

Posted on 2007-05-19 09:41  hhq80  阅读(217)  评论(0编辑  收藏  举报

由于项目的需求图表显示数据,今天在网上找了一天,终于找到一个不错的控件----ZedGraph,它支持asp,asp.net,vc.
现在最新的版本是5.0,些版本支持   .NET 2.0.5.0版本以下的支持.NET 1.1
我们现在的项目是.NET1.1开发的.我在网上找了一天也没有发现一个例子,下面我将介绍下其在ASP.NET下的用做WEB控件的用法
1.先将它提供的两个DLL文件添加引用

2.新建一个ASPX页面ZedGraph.aspx,引用ZedGraph用户控件
   ZedGraph.aspx页面代码
   

   ZedGraph.aspx.cs代码
   

 1 using System;
 2 using System.Collections;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Web;
 7 using System.Web.SessionState;
 8 using System.Web.UI;
 9 using System.Web.UI.WebControls;
10 using System.Web.UI.HtmlControls;
11 using ZedGraph;
12 using ZedGraph.Web;
13 
14 namespace ZedGraph
15 {
16     /// <summary>
17     /// ZedGraph 的摘要说明。
18     /// </summary>
19     public class ZedGraph : System.Web.UI.Page
20     {
21         protected ZedGraphWeb ZedGraphWeb1;
22         private void Page_Load(object sender, System.EventArgs e)
23         {
24         }
25         
26         #region Web 窗体设计器生成的代码
27         override protected void OnInit(EventArgs e)
28         {
29             //
30             // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
31             //
32             InitializeComponent();
33             base.OnInit(e);
34         }
35         
36         /// <summary>
37         /// 设计器支持所需的方法 - 不要使用代码编辑器修改
38         /// 此方法的内容。
39         /// </summary>
40         private void InitializeComponent()
41         {    
42             this.Load += new System.EventHandler(this.Page_Load);
43             this.ZedGraphWeb1.RenderGraph +=new ZedGraphWebControlEventHandler(this.OnRenderGraph);
44             
45         }
46         #endregion
47         private void OnRenderGraph(ZedGraphWeb zgw, Graphics g, MasterPane masterPane)
48         {
49             // Get the GraphPane so we can work with it
50             GraphPane myPane = masterPane[0];
51 
52             myPane.Title.Text = "销售统计";
53             myPane.XAxis.Title.Text = "区域";
54             myPane.YAxis.Title.Text = "销售总额: 元";
55 
56             PointPairList list = new PointPairList();
57             PointPairList list2 = new PointPairList();
58             PointPairList list3 = new PointPairList();
59             Random rand = new Random();
60 
61             for (double x = 0; x < 5; x += 1.0)
62             {
63                 double y = rand.NextDouble() * 100;
64                 double y2 = rand.NextDouble() * 100;
65                 double y3 = rand.NextDouble() * 100;
66                 list.Add(x, y);
67                 list2.Add(x, y2);
68                 list3.Add(x, y3);
69             }
70 
71             BarItem myCurve = myPane.AddBar("购买", list, Color.Blue);
72             myCurve.Bar.Fill = new Fill(Color.Blue, Color.White, Color.Blue);
73             BarItem myCurve2 = myPane.AddBar("续费", list2, Color.Red);
74             myCurve2.Bar.Fill = new Fill(Color.Red, Color.White, Color.Red);
75             BarItem myCurve3 = myPane.AddBar("升级", list3, Color.Green);
76             myCurve3.Bar.Fill = new Fill(Color.Green, Color.White, Color.Green);
77 
78             myPane.XAxis.MajorTic.IsBetweenLabels = true;
79             string[] labels = { "域名""主机""数据库""邮局""套餐" };
80             myPane.XAxis.Scale.TextLabels = labels;
81             myPane.XAxis.Type = AxisType.Text;
82             myPane.Fill = new Fill(Color.White, Color.FromArgb(200200255), 45.0f);
83             myPane.Chart.Fill = new Fill(Color.White, Color.LightGoldenrodYellow, 45.0f);
84 
85             masterPane.AxisChange(g);
86         }
87     }
88 }
89 
3.新一个测试页面test.aspx
  在这个页面中插入一个图片,其URL为ZedGraph.aspx

4