日期:2014-05-19  浏览次数:21032 次

水晶报表 CrystalReport1 cr = new CrystalReport1() 命名空间问题
我使用了vs2005,在工程的一个文件夹上   右键添加新项   增加了一个水晶报表CrystalReport1.rpt,这个报表预览都是正常的,能从数据库里面取得数据;

我在页面上拖了   一个   CrystalReportViewer,然后在page_load里面添加下面代码

          CrystalReport1   cr   =   new   CrystalReport1();
                DataSet   ds   =   new   DataSet();
                string   sql   =   "SELECT   incomes,   year,month   FROM   ACCT_MASTER   ";
                ds   =   DBM.getDataSet(sql);//DBM是一个取数据集的类,能正常运行
                  cr.SetDataSource(ds);
                CrystalReportViewer1.ReportSource   =   cr;

编译时候出这个错,   CrystalReport1   cr   =   new   CrystalReport1();
错误 1 找不到类型或命名空间名称“CrystalReport1”(是否缺少   using   指令或程序集引用?)


------解决方案--------------------
很简单的问题 你的rpt文件应该不是在工程的同级目录下

例如 你的rpt文件放在了 一个名为RPTDocument的文件夹中

则需要
using yournamespace.RPTDocument以引用rpt报表的命名空间
------解决方案--------------------
日!相对路径是这样用地:
cr.Load(Server.Mapth( "CrystalReport1.rpt "));