如题!请大家指点一下,给个列子或者介绍什么控件, 谢谢!

解决方案 »

  1.   

    以前自己写的是用HttpHandler来自己绘图
      

  2.   

    水晶报表、Infragistics NetAdvantage for ASP.NET,甚至Excel,都可以。
      

  3.   

    章立民著的《ASP.net ajax经典范例168》里有个用HttpHandler写的平面和三维饼图的例子。
      

  4.   

    毕竟不是在学校学asp.net,还是多考虑商品化的编程吧。图表工具要作为一个普通的asp.net控件一样用鼠标简单地拖动几下就与页面组合在一起。
      

  5.   

    1、添加新项->一般处理程序,名称:DisplayPieChart.ashx
    2、关键代码:<%@ WebHandler Language="C#" Class="DisplayPieChart" %>using System;
    using System.Web;
    using System.Drawing;
    using System.Drawing.Imaging;public class DisplayPieChart : IHttpHandler {
        
        public void ProcessRequest (HttpContext context) {
            
            using (Bitmap objBitmap = new Bitmap(300, 300))  // 300 * 300大小的图
            { 
                using(Graphics objGraphics = Graphics.FromImage(objBitmap))
                {
                    objGraphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;                objGraphics.Clear(Color.White);
                    
                    Rectangle rect = new Rectangle(0, 0, 300, 300);
                    objGraphics.FillPie(Brushes.Blue, rect, 0, 246.7F); // 画0度~246.7度的蓝色的Pie
                    objGraphics.FillPie(Brushes.Red, rect, 246.7F, 360 - 246.7F); // 其余部分用红色Pie填充                context.Response.ContentType = "Image/GIF";
                    context.Response.Clear();
                    context.Response.BufferOutput = true;
                    objBitmap.Save(context.Response.OutputStream, ImageFormat.Gif);
                }
            }
            
        }
     
        public bool IsReusable {
            get {
                return false;
            }
        }}
    另外可以在ProcessRequest()方法里通过context.Request.QueryString["id"]来取得参数。也就是说你可能通过<asp:Image ImageUrl="DisplayPieChart.ashx?id=33" ... />来传递参数。