资源描述:
《mschart控件使用详细讲解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、....一.数据源 说到绘制图表,可能很多人的第一反应除了是图表呈现的方式外,更关心的便是数据如何添加,记得在很多年前,哪时要绘制一个数据曲线图,一直找不到好的呈现方式,后来使用了SVG的绘图模式,不过在添加数据的时候可谓吃尽了苦头,毕竟,SVG只是一种描述语言,要动态的实现一个图表的绘制,是非常困难的.对于微软的图表控件,数据添加是一件很简单的方式,它支持多种数据添加方式,如:· 可以在图表的设计界面,在属性设置窗口中的Series属性下的Points中添加需要的数据.
2、· 可以在图表的设计界面中,在属性中绑定一个数据源.· 可以在后台代码中,动态添加数据.· 可以在后台代码中设置一个或多个数据源,直接绑定到图表中. 在此处,我只着重讲解一下第3,4两点.对于第3点,相对来说比较简单,在后台代码中,找到要添加代码的Series,通过它下面Points的Add、AddXY、AddY等方法,即可以实现数据的添加.例如:1. doublet;2. for(t=0;t<=(2.5*Math.PI);
3、t+=Math.PI/6)3. {4. doublech1=Math.Sin(t);5. doublech2=Math.Sin(t-Math.PI/2);6. Chart1.Series["Channel1"].Points.AddXY(t,ch1);7. Chart1.Series["Channel2"].Points.AddXY(t,ch2);8. }复制代码注:代码摘自
4、微软的例子,上例中,Chart1为图表的名字,Channel1、Channel2分别表示两个Series数据序列)二.绑定数据 先来看看图表控件都支持什么类型的数据绑定,根据官方文档的说法,只要是实现了IEnumerable接口的数据类型,都可以绑定到图表控件中,例如:DataView,DataReader,DataSet,DataRow,DataColumn,Array,List,SqlCommand,OleDbCommand,SqlDataAdapter,及OleDbDataAdapte
5、r对象。 对于开发来说,最常用的还是DataView、DataReader、DataSet、DataRow、Array、List这几种类型了,有几点需要注意一下:学习资料....· 图表控件支持多数据源的绑定,例如:X轴绑定一个数据集ds1,Y轴可以绑定另一个数据集ds2,当然也可以是X轴绑定到一个List数据对象,Y轴绑定到一个DataView对象等等。· 图表控件的绑定方式一般有两种,常规绑定及交差表的绑定。· 图表控件的Y轴数据,支持一次绑
6、定多个值,以绘制时间、区域、使用量等之类的图形。 绑定数据的流程如下:2008111015142478.png (44.03K)2008-11-1022:19:03 大意是,绑定数据里面是否有分组数据需要绑定,如果有,则调用交叉表绑定的方法。否则判断是否时绑定X轴和Y轴(包括标签、超链接、图例文字等自定义属性),如果是,则调用Points.DataBind方法进行绑定操作。再判断是否有不同的X轴或Y轴数据,如果有,则分别调用X,Y轴的绑定方法Points.DataBindX,Points.Dat
7、aBindY进行数据绑定。最后,再判断是否需要进行多个Y轴值的绑定。 下面分别对几种数据绑定的方法进行一下说明:1.绑定一张数据表 绑定一张数据表,例如绑定一张普通的数据表,表数据如下: 2008-11-10_214947.gif (3.24K)2008-11-1022:19:03绑定方法的代码:1. stringmySelectQuery="SELECTName,SalesFROMREPS;";2. OleDbConnectionmyConnection=newOleDbCon
8、nection(myConnectionString);3. OleDbCommandmyCommand=newOleDbCommand(mySelectQuery,myConnection);4. myCommand.Connection.Open();5. OleDbDataReadermyReader=myCommand.ExecuteReader(CommandBehavior.CloseConnection);6. Chart1.DataBindT