我用OWC做了一个柱状图,但图上无数据,请问如何设置属性,在图上显示数据?在EXCEL表中能看到图表的属性吗?

解决方案 »

  1.   

    public class owc: System.Web.UI.Page
    {
      protected System.Web.UI.WebControls.PlaceHolder ChartHolder; private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
        //创建ChartSpace对象来放置图表
        OWC.ChartSpace objCSpace = new OWC.ChartSpaceClass ();     //在ChartSpace对象中添加图表,Add方法返回chart对象
        OWC.WCChart objChart = objCSpace.Charts.Add (0);     //指定图表的类型。类型由OWC.ChartChartTypeEnum枚举值得到
        objChart.Type = OWC.ChartChartTypeEnum.chChartTypeColumnClustered;    //指定图表是否需要图例
        objChart.HasLegend = true;    //给定标题
        objChart.HasTitle = true;
        objChart.Title.Caption= "上半年分布图";    //给定x,y轴的图示说明
        objChart.Axes[0].HasTitle = true;
        objChart.Axes[0].Title.Caption = "Y : 数量";
        objChart.Axes[1].HasTitle = true;
        objChart.Axes[1].Title.Caption = "X : 月份";    //计算数据
        /*categories 和 values 可以用tab分割的字符串来表示*/
        string strSeriesName = "图例 1";
        string strCategory = "1" + '\t' + "2" + '\t' + "3" + '\t'+"4" + '\t' + "5" + '\t' + "6" + '\t';
        string strValue = "9" + '\t' + "8" + '\t' + "4" + '\t'+"10" + '\t' + "12" + '\t' + "6" + '\t';    //添加一个series
        objChart.SeriesCollection.Add(0);    //给定series的名字
        objChart.SeriesCollection[0].SetData (OWC.ChartDimensionsEnum.chDimSeriesNames,
    + (int)OWC.ChartSpecialDataSourcesEnum.chDataLiteral, strSeriesName);    //给定分类
        objChart.SeriesCollection[0].SetData (OWC.ChartDimensionsEnum.chDimCategories,
    + (int)OWC.ChartSpecialDataSourcesEnum.chDataLiteral, strCategory);    //给定值
        objChart.SeriesCollection[0].SetData
          (OWC.ChartDimensionsEnum.chDimValues,
          (int)OWC.ChartSpecialDataSourcesEnum.chDataLiteral, strValue); 
        //输出成GIF文件.
        string strAbsolutePath = (Server.MapPath(".")) + "\\i\\test.gif";
        objCSpace.ExportPicture(strAbsolutePath, "GIF", 600, 350);    //创建GIF文件的相对路径.
        string strRelativePath = "./i/test.gif";    //把图片添加到placeholder.
        string strImageTag = "<IMG SRC='277_files/&quot; + strrelativepath + &quot;'/>";
        ChartHolder.Controls.Add(new LiteralControl(strImageTag));
    } #region Web Form Designer generated code
    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.   

    objChart.SeriesCollection[0].DataLabelsCollection.Add();
    objChart.SeriesCollection[0].DataLabelsCollection[0].HasCategoryName = true;