★(ChengKing)【夜战鹰】【庖丁解牛—纵向切入Asp.net 3.5控件和组件开发技术】★

[首页♂] 【夜战鹰的博客】【专注于DotNet技术】【ChengKing(ZhengJian)】

原创 ComponentOne之WebChart概述收藏

(一). 写本文章目的:    

         学了一段时间ComponentOne的图表,感觉ComponenOne图表控件还可以,图表样式也较丰富

  不过它的帮助全是英文的,而且有些地方写的比较粗糙,示例程序也不够详细. 我把它总结了一下.

(二).使用方法        

        1.安装好ComponentOne软件.

         2.建立一个WEB应用程序项目,名称为: TextChart

         3.将ComponentOne软件自带的控件集DLL文件(不一定全部,只把需要的一部分)拷贝到自己刚建的

            项目TextChart的Bin目录下面 (这里要手动放的原因是ComponentOne有时会找不到Dll)  

         4.双击项目里任何一个*.aspx文件,打开设计界面。 打开工具栏,在工具栏空白处右击,选“添加/删除”

             项,打开自定义控件窗口,在.net frame 组件选项卡下选择ComponentOne相应的组件,如果有清楚,

             就将所有的C1开头的全部勾选,点“确定按钮".  则ComponentOne的控件就显示在工具箱里面了  :)

         5. 到了这一步,就可以将ComponentOne控件像一般控件一样直接拖动使用了. 拖C1WebChart控件到

            窗体页面上.  然后右击控件,选 "Chart wizard..."就可以为其设置显示的样式(饼图/柱状图/折线图等)和

            属性了,用法跟一般控件差不多。(如果感觉还是陌生的话,请看下面(三),除了用设计器设置外,

           还可以代码用代码设置)

(三) . 代码设置

         1. 限于篇幅,只讲解主要的属性

         2.所有的图表样式原理差不多都一样的,这里只讲一下饼图的实现方法

       

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

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

         1)  <summary>主要属性</summary>

          C1WebChart1.Header.Text="Chart 头";               //图表头标题
          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;     //图表宽度

         

          2) <summary>主要方法</summary>

            a .X轴标签(坐标)的方法,直接调用即可

               public void AddAxisX()
               {  
                       // label x axis with product names
                      Axis ax = C1WebChart1.ChartArea.AxisX;
                      ax.ValueLabels.Clear();  
                     ax.AnnoMethod = AnnotationMethodEnum.ValueLabels;
                     for(int i = 0; i < 100; i++)
                     {
                              //DataRowView drv = dv[i];
                             ax.ValueLabels.Add(i, (i+1).ToString());
                     }
                     try
                     {
                             ax.Max = 10 - .5;
                     }
                    catch {}  
                }
            a .Y轴标签(坐标)的方法,直接调用即可

                public void AddAxisY()
                { 
                      // label y axis with product names
                     Axis ay = C1WebChart1.ChartArea.AxisY;
                    ay.ValueLabels.Clear();  
                   ay.AnnoMethod = AnnotationMethodEnum.ValueLabels;
                    for(int i = 0; i < 10; i++)
                    {
                          //DataRowView drv = dv[i];
                         ay.ValueLabels.Add(i, (50*i).ToString());
                   }
                   try
                    {
                            ay.Max = 20 - .5;
                    }
                   catch {}  
                }

              c.画图表的方法
                public void GetPieData()
                {  
                       C1WebChart1.Legend.Visible = true;  //图表区块注释.
                       this.AddAxisX();   //上面方法a
                       this.AddAxisY();   //上面方法b
   
                       //生成数据
                        PointF[] data = new PointF[10];
                        for (int i = 0; i < data.Length; i++)
                        {
                                float y = float.Parse((3*i+5).ToString());
                                data[i] = new PointF(i, y);
                        }    
   
                        //清除现有的饼图
                       ChartDataSeriesCollection dscoll = C1WebChart2.ChartGroups[0].ChartData.SeriesList;   
                       dscoll.Clear();

                       //汇图,即将点数组交给控件,它会自己分配,并画出图形
                        ChartDataSeries series = C1WebChart1.ChartGroups[0].ChartData.SeriesList[0];
                       series.PointData.CopyDataIn(data);// 这里的data是PointF类型  
           
                        //给区块加标签
                        for(int i=0; i < data.Length; i++)
                       {
                               ChartDataSeries series = dscoll.AddNewSeries();
                               series.PointData.Length = 1;
                               series.Y[0] = data[i].Y;
                              series.Label="我是:"+(i+1).ToString();

                               //加标签
                               C1.Win.C1Chart.Label lbl = C1WebChart1.ChartLabels.LabelsCollection.AddNewLabel();
                               lbl.Text = string.Format("{0} ({1:c})","第:"+i.ToString()+"扇区", data[i].Y);
                               lbl.Compass = LabelCompassEnum.Radial;
                               lbl.Offset = 20;
                               lbl.Connected = true;
                               lbl.Visible = true;
                               lbl.AttachMethod = AttachMethodEnum.DataIndex;
                               AttachMethodData am = lbl.AttachMethodData;
                              am.GroupIndex  = 0;
                             am.SeriesIndex = i;
                             am.PointIndex  = 0;
                         }
                  } 

发表于 @ 2005年09月14日 21:31:00|评论(loading...)

新一篇: ASP.Net中DataGrid翻页后继续保持(当前排序)显示 | 旧一篇: 代码操作IIS之虚拟目录

用户操作
[即时聊天] [发私信] [加为好友]
【郑健(ChengKing)】【夜战鹰】
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
【郑健(ChengKing)】【夜战鹰】的公告
点击阅读《庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术》一书内容

【夜战鹰的博客】
【专注于.Net技术】【.Net控件开发】
技术交流/合作联系方式:
【MSN/Email:King.Zheng@hotmail.com】

【下面是快速分类链接, 若想查看本Blog所有文章可以点击下面[文章]区域块的按技术分类的各个链接】


(1).★★★【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术系列教程】★★★    问问题

(2). Net 教程系列(Asp.net/
Ajax/JQuery/SilverLight/控件开发等)


(3)Asp.net控件/组件开发

(4). NET系列丛书

(5). C# GAME

(6). 网站(学习/源代码资源下载)

(7). 用友软件园工作环境

(8). 我上传的资源下载

(9). 《每天花五分钟时间赚点钱》

(2006~2009 MS-MVP)


请选择下面链接,可以分类别的阅读文章:

文章分类
收藏
    Good Blogs
    BennyMavis(水晶报表)(RSS)
    Bruce Zhang(RSS)
    cityhunter172(RSS)
    Clingingboy(RSS)
    dudu(RSS)
    goody9807(RSS)
    huangkw007(RSS)
    LoveCherry(RSS)
    mapserver(RSS)
    Rickie Lee(RSS)
    saucer(RSS)
    Scott Guthrie 博客中文版[CSDN,译者思归](RSS)
    Scott Guthrie 博客中文版[博客堂](RSS)
    Silverlight上海团队(RSS)
    singlepine(RSS)
    TerryLee(RSS)
    zjcxc(RSS)
    中国龙(RSS)
    冰冰子(RSS)
    叶帆(刘洪峰)(RSS)
    吕震宇(RSS)
    孟子E章(.net)(RSS)
    孟宪会(RSS)
    孟岩(RSS)
    寒羽枫(RSS)
    张友邦[架构专家](RSS)
    推荐系列(自TerryLee)(RSS)
    曾登高(RSS)
    朱春雷[软件工程](RSS)
    李宁(RSS)
    李维(RSS)
    清清月儿[黄鸣](RSS)
    王洪伟(SOA专家)(RSS)
    王磊(webabcd)(RSS)
    白慧冬(青润)[软件工程](RSS)
    胡百敬(RSS)
    蝈蝈俊.net(RSS)
    袁峰(RSS)
    谭振林(RSS)
    赵劼(RSS)
    速马(RSS)
    郑昀(RSS)
    陈黎夫(RSS)
    陕北吴旗娃(RSS)
    青润意愿(RSS)
    飞驰之剑(RSS)
    马宁(RSS)
    高阳(RSS)
    Good Sites
    4guysfromrolla.com(RSS)
    asp.net(RSS)
    aspalliance.com(RSS)
    beansoftware.com(RSS)
    codeplex.com(RSS)
    codeproject.com(RSS)
    c-sharpcorner.com(RSS)
    dotnetbips.com(RSS)
    dotnetslackers.com(RSS)
    hookedonlinq.com(RSS)
    MSDN Code Gallery(RSS)
    msdn en(RSS)
    Nikhil Kothari(RSS)
    Scott Guthrie(RSS)
    sourceforge.net(RSS)
    其它链接
    2006年100首好歌(RSS)
    2006年十二星座运程目录(RSS)
    2006年十二生肖运程运势(RSS)
    地图(RSS)
    社区/官方文档
    CSDN社区(RSS)
    MSDN网站(RSS)
    博客堂(RSS)
    微软Asp.net 2.0官方网站(RSS)
    微软Visual Studio 专区(RSS)
    微软中国社区(RSS)
    微软中文技术社区(RSS)
    文章链接
    C# Excel报表(RSS)
    CSDN新版图形验证码初级识别 (RSS)
    JavaScript技巧(一)(RSS)
    JavaScript技巧(二)(RSS)
    MINE类型(RSS)
    Share Point(RSS)
    多级下拉菜单(singlepine)(RSS)
    星月同辉 e路随行(文件下载)(RSS)
    我的其它Blog
    My IT博客网 Blog(RSS)
    My 博客园 Blog(RSS)
    My 博客园 blog(RSS)
    学习站点
    ASP.NET架构师[群组](RSS)
    Asp.net频道专家圈(RSS)
    King's CSDN下载资源(RSS)
    Microsoft XNA游戏开发网(RSS)
    象棋研究(RSS)
    优秀团队列表
    .Net 商业智能(RSS)
    .NetFramework3.0&WinFX团队(RSS)
    .NET控件与组件开发(RSS)
    ASP.NET AJAX学习(RSS)
    Asp.net(C#)四层架构自助建站系统(RSS)
    Design&Pattern团队(RSS)
    Dot Net Web服务和Windows服务开发(RSS)
    DotNet频道→ASP.NET(RSS)
    Enterprise Library(RSS)
    O/R Mapping团队(RSS)
    SharePoint团队(RSS)
    Skin设计小组(RSS)
    SOA研究室(RSS)
    Windows Mobile 应用开发(RSS)
    博客园培训团队(RSS)
    开源项目团队(RSS)
    自动识别与数据采集(RSS)
    计算机图形学(RSS)
    存档
    Csdn Blog version 3.1a
    Copyright © 【郑健(ChengKing)】【夜战鹰】