微软Chart控件导学--数据绑定

来源:互联网 发布:杨辉三角java实现 编辑:程序博客网 时间:2024/05/16 06:15

一个图表如果对外观没有太大的要求(本来图表的外观就是在很大程度上定制了的,并且微软也提供了很多的样式,对于一般的应用足够了),只要把正确的数据输入就一切OK了。从根本上讲,所有的数据的输入都是一个个的添加点的封装。只要掌握好这一种方法就一切问题都可以解决了。但是微软也提供了更加方便的方法,就是数据绑定。数据绑定内部一定也是一个点的添加的(呵呵,想想也是很容易的,对所有的实现IEnumerator接口的都可以用foreach语句,这样就可以一个一个的添加点了,我想应该是这样的)。

下面我们就用循环来把上一节用DataBindTable实现的那个图表再实现一遍。用起来也不是很容易,主要代码如下:

生成的图表如下:

用微软的Chart控件画的图表

      图片1(呵呵,上一节的图片)

这样就是用一个循环遍历dr这个实现了IEnumerator的对象,实现了与第一节中相同的功能(上文中注释的地方就是上一节所用的方法,用数据绑定的方法数据量会少一些)。

一个点一个点的添加是最为普遍的方式(但未必是最常用的方式)。再有时我们会到这种情况,那就是X轴和Y轴的数据都存到了一个数组中,对于这种情况Cahrt控件也提供了一个好用的方法来添加数据。这个方法就是DataBindXY,DataBindXY有两个重载,一个是DataPointCollection.DataBindXY (IEnumerable, IEnumerable[])。这个很好理解,第二个参数为什么是一个数据也和PointY值为什么会是数组的理由是一样的。下面是一个例子,还是用的NBA的那个数据。

图片还是再贴一遍吧:

微软Chart控件生成的图片

             图表2(还是上一节的图片)

第二个重载中DataPointCollection.DataBindXY (IEnumerable, String, IEnumerable, String),这个就和在用DataBind时的情况有点像了,也只给出一个例子就可以了。

呵呵,效果不用贴了吧。。。代码都大部分是上面复制的。。。。

DataBind就不用多说了吧,第一节中有例子。而且微软也是靠这个来赚人气的。说句实在话,这个自己其实也不是太懂,反正能用就行了。

最后一个数据绑定用的就是DataBindTable函数了,从这个名字上就能看到这个是很来做表格数据(Tabular Data)绑定的。第一节中也用过,就不多说了。

现在的所有的数据绑定我们都是用程序代码来实现的,微软还提供了一种在设计时不用写代码就可以实现数据绑定的控件:“数据源”,就是下图所示的样子,点击Config Data Source,就会出现提示,然后一步一步的进行也是可以的。

好,数据绑定大致就这些了吧。

原创粉丝点击