chart 控件 数据绑定

来源:互联网 发布:深信服上网行为js 编辑:程序博客网 时间:2024/05/23 19:37
原文地址:控件 数据绑定">chart 控件 数据绑定作者:官林辉
二.绑定数据
     先来看看图表控件都支持什么类型的数据绑定,根据官方文档的说法,只要是实现了IEnumerable接口的数据类型,都可以绑定到图表控件中,例如:DataView,DataReader, DataSet, DataRow, DataColumn, Array,List, SqlCommand, OleDbCommand, SqlDataAdapter,及OleDbDataAdapter对象。
     对于开发来说,最常用的还是DataView、DataReader、DataSet、DataRow、Array、List这几种类型了,有几点需要注意一下:
  1. 图表控件支持多数据源的绑定,例如:X轴绑定一个数据集ds1,Y轴可以绑定另一个数据集ds2,当然也可以是X轴绑定到一个List数据对象,Y轴绑定到一个DataView对象等等。
  2. 图表控件的绑定方式一般有两种,常规绑定及交差表的绑定。
  3. 图表控件的Y轴数据,支持一次绑定多个值,以绘制时间、区域、使用量等之类的图形。
  绑定数据的流程如下:
[转载]chart <wbr>控件 <wbr>数据绑定
  大意是,绑定数据里面是否有分组数据需要绑定,如果有,则调用交叉表绑定的方法。否则判断是否时绑定X轴和Y轴(包括标签、超链接、图例文字等自定义属性),如果是,则调用Points.DataBind方法进行绑定操作。再判断是否有不同的X轴或Y轴数据,如果有,则分别调用X,Y轴的绑定方法Points.DataBindX,Points.DataBindY进行数据绑定。最后,再判断是否需要进行多个Y轴值的绑定。
   下面分别对几种数据绑定的方法进行一下说明:
1.绑定一张数据表
绑定一张数据表,例如绑定一张普通的数据表,表数据如下:
IDNameRegionIDSales1Aaron1104402Larry2177723Andrew3238804Mary176635Sally4217736Nguyen2322947Francis4119838Jerry314991


string mySelectQuery="SELECT Name,Sales FROM REPS;";
OleDbConnection myConnection
= newOleDbConnection(myConnectionString);
OleDbCommand myCommand
=new OleDbCommand(mySelectQuery, myConnection);
myCommand.Connection.Open();
OleDbDataReader myReader
= myCommand.ExecuteReader(CommandBehavior.CloseConnection);
Chart1.DataBindTable(myReader,
"Name");
myReader.Close();
myConnection.Close();

因为数据源中只有两列Name和Sales,因此在调用Chart1.DataBindTable方法的时候,告诉了图表X轴的名称为Name,因此自动将Sales设置为Y轴的数据了.生成的图形如下:
[转载]chart <wbr>控件 <wbr>数据绑定
如果修改一下Sql语句为:SELECT Name,ID,RegionID FROMREPS;其它都不变化,再看看图表是如何处理另外两个字段的,生成的图表如下:
[转载]chart <wbr>控件 <wbr>数据绑定
此时,图表自动将ID,RegionID字段当成了Y值,生成了两个Series,因此每个用户都有两个值,生成的图形也有两个柱状图.


 

0 0