各位好~
有个问题想在求助一下,是关于用aspnet画饼状图的
我准备用OWC画
但是OWC不会用
我已经到了这样的进度,我运行了一下报错说
找到类型“ChartSpaceClass”的公共成员“ChartChartTypeEnum”。 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '在此处放置初始化页的用户代码
        Dim owc As OWC.ChartSpace = New OWC.ChartSpace
        Dim owcChart As OWC.WCChart = owc.Charts.Add
------------------------------------------------------------------
        Dim connection As New ADODB.Connection
        Dim command As New ADODB.Command
        Dim Rs1 As New ADODB.Recordset
        Dim ConStr As String
        ConStr = "DRIVER={SQL Server};SERVER=cv0100029d4;UID=snow;PWD=123456;DATABASE=badpart"
        connection.ConnectionString = ConStr
        connection.Open()
        command.ActiveConnection = connection
        command.CommandText = "select * from BoardStat"
        Rs1 = command.Execute
        Rs1.Close()
        connection.Close()
        connection.ConnectionString = ""
-------------------------------------------------------------------
        owc.DataSource = Rs1
        owcChart.Type = owc.ChartChartTypeEnum.chChartTypePie
select * from BoardStat 执行后得到的数据是这样的Code          Qty
1AF03826AAAA  2
1AF03830AAAA  3
1AF03831ABAA  4
1AF03833AAAA  1
1AF03841AAAA  5
1AF03842AAAA  1
1AF04680AAAA  18
1AF05457AAAA  1 就是想实现以上数据的一个饼状图,各位大哥可以帮我看一下么

解决方案 »

  1.   

    送个例子给你吧(C#)的
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.Drawing;
    using System.Drawing.Imaging;
    namespace aspCharts
    {
    /// <summary>
    /// Chart 的摘要说明。
    /// </summary>
    public class Chart : System.Web.UI.Page
    {
    private void Page_Load(object sender, System.EventArgs e)
    { Graphics objGraphics;//建立画板对象
    Bitmap objBitMap = new Bitmap(600,300);//建立位图对象
    objGraphics = Graphics.FromImage(objBitMap);//根据位图对象建立画板对象
    objGraphics.Clear(Color.White);//设置画板对象的背景色
    int[] arrValues={0,0,0,0,0,0};//数据数组
    arrValues[0]=200;
    arrValues[1]=70;
    arrValues[2]=90;
    arrValues[3]=100;
    arrValues[4]=140;
    arrValues[5]=300;
    string[] arrValueNames={"0","0","0","0","0","0"};//月份 arrValueNames[0] = "一月";
    arrValueNames[1]="二月";
    arrValueNames[2] = "三月";
    arrValueNames[3]="四月";
    arrValueNames[4]="五月";
    arrValueNames[5]="六月"; objGraphics.DrawString("上半年销售情况统计",new Font("宋体",16),Brushes.Black,new PointF(0,0)); //创建图例文字
    PointF symbolLeg = new PointF(335,20);
    PointF descLeg = new PointF(360,16); //画出图例。利用objGraphics图形对象的三个方法画出图例:
                //FillRectangle()方法画出填充矩形,DrawRectangle()方法画出矩形的边框,
                //DrawString()方法画出说明文字。这三个图形对象的方法在 .NET 框架类库类库中均已重载,
                //可以很方便根据不同的参数来画出图形。 for(int i=0;i<arrValueNames.Length;i++)//画出各个月的标示图形
    {
    objGraphics.FillRectangle(new SolidBrush(GetColor(i)),symbolLeg.X,symbolLeg.Y,20,10); objGraphics.DrawRectangle(Pens.Black,symbolLeg.X,symbolLeg.Y,20,10); objGraphics.DrawString(arrValueNames[i].ToString(),new Font("宋体",10),Brushes.Black,descLeg); symbolLeg.Y += 15;
    descLeg.Y += 15;
    } for(int j = 0;j<arrValues.Length;j++)//画矩形图
    {
    objGraphics.FillRectangle(new SolidBrush(GetColor(j)),(j*35)+15,200-arrValues[j],20,arrValues[j]+5);
    objGraphics.DrawRectangle(Pens.Black,(j*35)+15,200-arrValues[j],20,arrValues[j]+5);
    } float sglCurrentAngle;
    float sglTotalAngle=0; for(int a=0;a<arrValues.Length-1;a++)
    {
    sglTotalAngle += arrValues[a];//取得数据总量
    } for(int b=0;b<arrValues.Length;b++)
    {
    sglCurrentAngle = arrValues[b]/sglTotalAngle*360;//求出该数据所占总数据的百分比
    objGraphics.FillPie(new SolidBrush(GetColor(b)),220,95,100,100,sglTotalAngle,sglCurrentAngle);//画出椭圆
    sglTotalAngle+=sglCurrentAngle;
    } objBitMap.Save(Response.OutputStream,ImageFormat.Gif);//该位图对象以"GIF"格式输出
    } private Color GetColor(int itemIndex)
    {
    Color objColor = new Color();
    switch(itemIndex)
    {
    case 0:
    objColor = Color.Blue;
    break;
    case 1:
    objColor = Color.Yellow;
    break;
    case 2:
    objColor = Color.Red;
    break;
    case 3:
    objColor = Color.Orange;
    break;
    case 4:
    objColor = Color.Purple;
    break;
    case 5:
    objColor = Color.Brown;
    break;
    case 6:

    default:
    objColor = Color.Blue;
    break;
    } return objColor;
    } #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.Load += new System.EventHandler(this.Page_Load);
    }
    #endregion
    }
    }
      

  2.   

    谢谢你啊~
    可是我需要owc的