本来做报表最初打算使用CrystalRports的,但是由于其不支持IList接口,我们的数据是通过IList接口来传递的,这应该是一种比较传统的o/r mapping以后处理数据的方式吧。经过选择,选用了ActiveReport for .net 2.0,它多了两个吸引人的功能,CacheToDisk和支持IList接口的数据,尽管它功能不够强大,还是选用了它。
后来还是发现其两个特别讨厌的bug:
1。如果对其后台代码文件进行编写以后,再对报表文件进行一系列操作,再返回到代码文件,最初手动添加的代码被其自动去掉了。
2。如果给报表对象第一次赋予一个IList对象IList1,然后再给它赋予另外一个IList对象IList2,那么报表会出现空报表的情况。但是DataTable对象却没有相同情况。
----------------------------------------------------------------------------------------------------------------------------------------------
仔细看了看ar得文档,它还附带一个unbound report方式得方法,这样做可以解决上面的bug,但是偶仍然认为那是个bug,最后选择了使用datatable来处理。如果资金允许,而且cr以后支持IList得话,还是最好选用cr来做报表。
个人感觉ar的某些时候的处理机制也比较混乱,让人混淆。偶记的同对于打印设置的问题,它的开发文档中就记载某些设置要在xx事件前设置,某些设置又可以在xx事件之中设置。(xx表示某同一事件)