发现微软MSChart的一个严重Bug!!!!!

  在上几篇博文中我介绍了MSChart的使用..相对而说是比较入门级的,就是一些数据绑定方面的内容..当时做的时候是用了一些测试数据,数据结构方面比较整齐(也就是说数据结构很有规律)统计处的结果是正确的..这几天拿到正式数据之后,许多数据结构不很规则,放到MSChart中就出问题了...

  因为要统计成三维图表.只能用到了交叉表的这个 方法 DataBindCrossTable ();  问题就出在这个方法上!!!

  这个是数据集结果图:

  

这个数据是我打乱之后的,,Name是varchart类型,,Year 是int行, Sales 是货币类型...

之后绑定方法如下

Chart1.DataBindCrossTable( myReader, "Name", "Year", "Sales", "Label=Commissions{C}");

以Name分组情况如下图:

大家可以看到 ,现在数据时正确的,因为X轴是int类型,.这个方法可以自动区分开..

下面大家来看以Year分组,,Name为X轴

很明显的看到,,Xiaogang 2005年的数据跑到John那里去了..Mary 2005年的数据跑到Andrew那里去了...

来回的这样的测试我做了不下二十次。。。

发现DataBindCrossTable这个方法对字符串的支持不是很好..原本以为在VS2010里面的会修复这个Bug..

下午用了vs2010试了下.还是不行..

项目进行到这个地步..换不了控件,只能另寻办法了....

郁闷两天了...今天找出原因.缺不知道怎么解决..my god。。。

顺便BS下微软..!!!啥东西都不开源!!!

posted on 2010-07-29 18:03  小刚qq  阅读(3155)  评论(15编辑  收藏  举报