最近由于工作需要小用了一下水晶报表,VS.Net自带的CrystalReport9.0版的。查了一些资料,基本上满足需要没有多大问题,所做报表本身也比较简单,没有接触水晶报表更复杂的部分。设置数据源,报表的打印处理等代码网上也比较多。我就提两个新手容易忽略的问题:
1、在push模式下使用水晶报表,经常会出现水晶报表加载错误,群里常有人问起。如果你是用System.Data.DataSet定义自己的DataSet,应当首先检查所创建的DataSet格式文件(xsd)中设置的表名,字段名和程序中给你的DataSet的实例添加的表的表名和字段名是否一致。如果你是用xsd格式的DataSet类(该类创建xsd文件时自动生成,继承于System.Data.DataSet)定义的ds,那么这时候即使不一致也不会出现错误,因为这时ds已经有了固定的格式,只是如果表明,字段名不对应的话,数据不会写入到ds中去,也就无法展示出来。如此看来,xsd文件并非必要,页面设计rpt时,如果有DataSet的格式,你可以方便的进行设计,不然只能在程序中用代码去控制rpt要显示的数据了。
2、在设计水晶报表页面时,往往会发现它的设计页面比我们需要的页面窄,网上有人给出解决办法,设置打印机页面,设为横向,这样可以增加宽度,但这个如果你机器连有打印机,会受你打印机的限制,比我的最大页面只能打A4的纸,还不能满足需求,如何解决呢?如果你装了Office2003,启动Office工具中的Microsoft Office Document Imaging,这是个虚拟打印机,选用这个,发现你可以设置A3的页面,如果在改为横向,宽度就足够用了,当然安装其他虚拟打印机也可以解决这个问题。
      

posted on 2007-02-08 16:29  绿蚂蚁  阅读(797)  评论(0编辑  收藏  举报