苦尽甘来:研究在TeeChart中画曲线图

    将一个带有数值的二维表格转化成曲线图是再简单不过的事情了,EXCEL中点几下就能够实现。但是刚刚学用TeeChart却实在是头疼了一阵。个人觉得TeeChart的功能虽然很强大,但是API接口设计得过于烦琐,而且帮助文档实在太糟糕了,短短的一句话,什么都没说清楚。我就这样一个一个猜啊猜啊,终于苦尽甘来。

    介绍下过程,或许对大家有帮助:环境为vs2005, TeeChart 3.2。
    画曲线的目的是想将数据库里面的一个汇总结果用曲线显示出来,构造的伪数据如下:
        DataTable tbl  =   new  DataTable();
        tbl.Columns.Add(
" time " typeof ( string ));
        tbl.Columns.Add(
" value " typeof ( int ));
        tbl.Rows.Add(
new   object []  ... "2008-01-01"100 } );
        tbl.Rows.Add(
new   object []  ... "2008-01-02"23 } );
        tbl.Rows.Add(
new   object []  ... "2008-01-03"456 } );
        tbl.Rows.Add(
new   object []  ... "2008-01-04"78 } );
        tbl.Rows.Add(
new   object []  ... "2008-01-05"123 } );
        tbl.Rows.Add(
new   object []  ... "2008-01-06"345 } );
        tbl.Rows.Add(
new   object []  ... "2008-01-07"23 } );
        tbl.Rows.Add(
new   object []  ... "2008-01-08"90 } );
        tbl.Rows.Add(
new   object []  ... "2008-01-09"342 } );

 1、建一个aspx文件line.aspx;
2、在设计视图中拖进去一个控件;
3、在属性窗口的杂项中,将GetChartFile设置成GetChart.aspx(默认)
     将TempChart属性设置成Session
     将TeeChart安装目录下的例子文件夹中,将GetChart.aspx拷贝到当前的工程目录下。(注意:这个文件要设置好,不然图片显示一个叉叉,在这里花了好多时间)
4、打开line.aspx.cs:
     加入名称空间using Steema.TeeChart.Styles;
     进入Page_Load()方法:
     新增一个曲线的对象:
Line line =   new  Line(WebChart1.Chart);
    将以上的伪造DataTable的代码也复制在这里。
5、尝试了很久,找到了第一种画曲线图的方法:
foreach  (DataRow r  in  tbl.Rows)
... {
    line.Add(Convert.ToDouble(r[
1]), r[0as string);
}
6、感觉太原始了,应该还有更好的办法!!!继续翻API手册,不同的写代码测试,终于找到:
line.YValues.DataMember  =   " value " ;
line.LabelMember 
=   " time " ;
line.DataSource 
=  tbl;

   我觉得,做.NET,可以没有Visual Stuio,但是绝对不能没有MSDN。好的参考资料,让使用者快速学会怎么使用,真的是太重要了!!!
 

你可能感兴趣的:(.net,Excel)