现要从数据库,表PCSYSTEMINFO_TAB中查找出
CPU_USED,RESPONSE_TIME两个字段数据,并在图标中显示,显示要求是,图标的横坐标上是时间,纵坐标是0~100,曲线上是CPU_USED中的数据,急求整个C#程序,VB不要(看不明白谢谢!!)。

解决方案 »

  1.   

    /// <summary>
    /// 生成图表
    /// </summary>
    /// <param name="dt">数据源(DataTable)</param>
    /// <param name="_type">图表类型(枚举)</param>
    /// <param name="filePath">图片路径</param>
    /// <param name="chartWidth">图片宽度</param>
    /// <param name="chartHeight">图片高度</param>
    /// <returns>图片名称</returns>
    public string dt_chart(DataTable dt,chart_type _type,string filePath,int chartWidth,int chartHeight,string chart_name)
    {
    ArrayList[] data_al=new ArrayList[dt.Columns.Count-1];
    for(int i=0;i<dt.Columns.Count-1;i++)
    {
    data_al[i] = new ArrayList();
    data_al[i].Add(dt.Columns[i]);

    }

    OWC11.ChartSpace objCSpace = new OWC11.ChartSpaceClass ();  //在ChartSpace对象中添加图表,Add方法返回chart对象
    OWC11.ChChart objChart = objCSpace.Charts.Add (0); 


    //指定图表是否需要图例
    objChart.HasLegend = true;
    objChart.HasTitle=true;
    objChart.Title.Caption=chart_name;
    objChart.Axes[0].Font.Color="red";

    //指定图表的类型。类型由OWC.ChartChartTypeEnum枚举值得到

    objChart.Type = OWC11.ChartChartTypeEnum.chChartTypeSmoothLineMarkers;

    for(int i=0;i<data_al.Length-1;i++)
    {
    //在ChartSpace对象中添加图表,Add方法返回chart对象
    objChart.SeriesCollection.Add(i);
    objChart.SeriesCollection[i].DataLabelsCollection.Add().Font.Color="red";
    objChart.GapWidth=280;
    objChart.BarWidth=400;

    string strSeriesName="指标";

    //给定series的名字
    objChart.SeriesCollection[i].SetData (OWC11.ChartDimensionsEnum.chDimSeriesNames,
    (int)OWC11.ChartSpecialDataSourcesEnum.chDataLiteral, strSeriesName);

    //给定分类
    objChart.SeriesCollection[i].SetData (OWC11.ChartDimensionsEnum.chDimCategories,
    (int)OWC11.ChartSpecialDataSourcesEnum.chDataLiteral,data_al[0].ToArray()); //给定值
    objChart.SeriesCollection[i].SetData
    (OWC11.ChartDimensionsEnum.chDimValues,
    (int)OWC11.ChartSpecialDataSourcesEnum.chDataLiteral,data_al[i+1].ToArray());
    } Random rand = new Random();
    string regName = "";
    regName =rand.Next(1000).ToString();

    //输出成GIF文件
    string strAbsolutePath =filePath+"\\temp"+regName+".gif";

    objCSpace.ExportPicture(strAbsolutePath, "GIF",chartWidth,chartHeight); //创建GIF文件的相对路径.
    string strRelativePath ="temp"+regName+".gif";

    return strRelativePath;
    }

      

  2.   

    你把这段代码拷过去,然后传入参数调用即可,第一个字段是x轴,数据源你传入DataTable,返回的是图片的名称
      

  3.   

    我是才搞.net,也是才接触到OWC,一时看不懂,楼上也不要怎么诅咒我吧!!难道你什么都懂吗?既然来这里就是为了把问题解决掉,基于分数,只是一种形式而已,上面只是和xxqqpp(想要变成鱼) 开个玩笑吧了!!做技术的,特别是做软件技术,就是要常交流的事情。oudy(凤舞九天) 
    的这种口气很伤和气哦!
    伤感的话,我不想多说!