控件中国网现已改版,您看到的是老版本网站的镜像,系统正在为您跳转到新网站首页,请稍候.......
中国最专业的商业控件资讯网产品咨询电话:023-67870900 023-67871946
产品咨询EMAIL:SALES@COMPONENTCN.COM

(二)ComponentOne之WebChart(柱状图)

作者:网友 出处:网络 2010年07月20日 阅读:

柱状图(代码示例一个比较复杂的柱状图,运行效果轮廓在最下面显示)
(一).配置
         1.安装好ComponentOne软件.

         2.建立一个WEB应用程序项目,名称为: 柱状图示例

         3.将ComponentOne软件自带的控件集DLL文件(不一定全部,只把需要的一部分)拷贝到自己刚建的项目TextChart的Bin目录下面 (这里要手动放的原因是ComponentOne有时会找不到Dll)  

         4.双击项目里任何一个*.aspx文件,打开设计界面。 打开工具栏,在工具栏空白处右击,选“添加/删除”  项,打开自定义控件窗口,在.net frame 组件选项卡下选择ComponentOne相应的组件,如果有清楚,就将所有的C1开头的全部勾选,点“确定按钮".  则ComponentOne的控件就显示在工具箱里面了  :)

         5. 到了这一步,就可以将ComponentOne控件像一般控件一样直接拖动使用了. 拖C1WebChart控件到窗体页面上.  然后右击控件,选 "Chart wizard..."就可以为其设置显示的样式(饼图/柱状图/折线图等)和属性了,用法跟一般控件差不多。(除了用设计器设置外,请看下面(二)

(二) . 代码部分  ((示例柱状图显示一个班级每个同学的:语文/数学/英语成绩))
         1. 柱状图的命名空间及控件声明       

          using C1.Web.C1WebChart;            //命名空间,必需加入,否则找不到里面的类和方法等
          using C1.Web.C1WebChartBase;
          using C1.Win.C1Chart;

          protected C1.Web.C1WebChart.C1WebChart C1WebChart1;   // 控件声明

         2. 柱状图的主要属性
          C1WebChart1.Header.Text="2005级计算机系五班成绩图表显示";               //图表头标题
          C1WebChart1.Footer.Text="Chart 尾";                 //图表尾文本
          C1WebChart1.BackColor = Color.LightSteelBlue;   //背景色
          C1WebChart1.ImageFormat = System.Drawing.Imaging.ImageFormat.Png;  //图像存储格式         
          C1WebChart1.ChartGroups.Group0.ChartType = Chart2DTypeEnum.Bar;   //图表
                                                       // 类型,Chart2DTypeEnum枚举下有所有的图表样式,如饼图/柱状图等
                                                                                                                     
          C1WebChart1.Width=800;     //图表区域宽度         

         3.柱状图的核心方法
            private void GetBarChart(DataView dv)  //其中dv是传递过来的数据视图,直接用数据集DataSet也是一样的
                                                   //dv中有三列: 语文 数学 英语
  {
  
                        //生成三维数组点实例。存储每个同学语文/数学/英语三门课的成绩.
                        PointF[][] data = new PointF[3][];
   for(int i =0;i < 3; i++)
   {
    data[i] = new PointF[dv.Count];
   }
  
   //语文成绩
   for(int i = 0; i < dv.Count; i++)
   {
    float y = float.Parse((dv[i]["语文成绩"]).ToString());
    data[0][i] = new PointF(i, y);   
   }

   //数学成绩 
                        for(int i = 0; i < dv.Count; i++)
   {
    float y = float.Parse((dv[i]["数学成绩"]).ToString());
    data[1][i] = new PointF(i, y);   
   }

   //英语成绩  
                        for(int i = 0; i < dv.Count; i++)
   {
    float y = float.Parse((dv[i]["英语成绩"]).ToString());
    data[2][i] = new PointF(i, y);   
   }

                        //绑定数据   
   for(int i=0; i < 3; i++) //如果是双条,则显示  
                        {
    ChartDataSeries series = C1WebChart1.ChartGroups[0].ChartData.SeriesList[i];   
   
    series.PointData.CopyDataIn(data[i]);// 这里的data是PointF类型
    series.FitType = C1.Win.C1Chart.FitTypeEnum.Spline;
   }

   //lend,对三种颜色Bar块的描述
   C1WebChart1.ChartGroups[0].ChartData.SeriesList[0].Label="语文成绩";
   C1WebChart1.ChartGroups[0].ChartData.SeriesList[1].Label="数学成绩";
   C1WebChart1.ChartGroups[0].ChartData.SeriesList[2].Label="英语成绩"; 

  
  
   //在Bar中显示值  
                        ChartDataSeriesCollection dscoll = C1WebChart1.ChartGroups[0].ChartData.SeriesList;  
     
   C1WebChart1.ChartLabels.LabelsCollection.Clear();
   for(int i=0; i < dscoll.Count; i++)
   {   
    ChartDataSeries series = dscoll[i];       
    for(int j = 0;j < dv.Count; j++)
    {
     //加标签,在Bar块上面显示分数
     C1.Win.C1Chart.Label lbl = C1WebChart1.ChartLabels.LabelsCollection.AddNewLabel();
     if(i == 0 && int.Parse(dv[j]["ProjectlastNum"].ToString()) != 0)
     {
      lbl.Text = string.Format("{0}",int.Parse(dv[j]["语文成绩"].ToString()));
     }
     if(i == 1 && int.Parse(dv[j]["ProjectNormalNum"].ToString()) != 0)
     {
      lbl.Text = string.Format("{0}",int.Parse(dv[j]["数学成绩"].ToString()));
     }
     if(i == 2 && int.Parse(dv[j]["ProjectBeyondNum"].ToString()) != 0)
     {
      lbl.Text = string.Format("{0}",int.Parse(dv[j]["英语成绩"].ToString()));
     }

     lbl.Compass = LabelCompassEnum.South;
     //lbl.Style.BackColor = Color.Brown;
     lbl.Style.ForeColor = Color.Blue;
     lbl.Offset = 10;
     lbl.Connected = false;
     lbl.Visible = true;
     lbl.AttachMethod = AttachMethodEnum.DataIndex;
     AttachMethodData am = lbl.AttachMethodData;
//     am.GroupIndex  = 0; //0
//     am.SeriesIndex = 0; //i
//     am.PointIndex  = j; //0 
     am.GroupIndex  = 0; //0
     am.SeriesIndex = i; //i
     am.PointIndex  = j; //0 
    }
   }

   //显示X轴标签
           Axis ax = C1WebChart1.ChartArea.AxisX;
   ax.ValueLabels.Clear();  
   ax.AnnoMethod = AnnotationMethodEnum.ValueLabels;
  
   for(int i = 0; i < dv.Count; i++)
   {   
    ax.ValueLabels.Add(i, dv[i]["ChiName"].ToString());
   }
   try
   {
    //ax.Max = Convert.ToSingle(intPeopleNum - .5);
   }
   catch {}   
  }

下载地址:http://www.componentcn.com/html/cpjmtb_243_6365.html

热推产品

  • ActiveReport... 强大的.NET报表设计、浏览、打印、转换控件,可以同时用于WindowsForms谀坔攀戀Forms平台下......
  • AnyChart AnyChart使你可以创建出绚丽的交互式的Flash和HTML5的图表和仪表控件。可以用于仪表盘的创......
首页 | 新闻中心 | 产品中心 | 技术文档 | 友情连接 | 关于磐岩 | 技术支持中心 | 联系我们 | 帮助中心 Copyright-2006 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 电话:023 - 67870900 传真:023 - 67870270 产品咨询:sales@componentcn.com 渝ICP备12000264号 法律顾问:元炳律师事务所 重庆市江北区塔坪36号维丰创意绿苑A座28-5 邮编:400020
在线客服
在线客服系统
在线客服
在线客服系统