日期:2014-05-18  浏览次数:20398 次

100求助 分不够 可以加!! VS2005下怎么给水晶报表rpt文件添加 .cs 文件??
我使用了vs2005,在工程的一个文件夹上 右键添加新项 增加了一个水晶报表CrystalReport1.rpt 
(只生成了一个RPT文件,没有对应的CS文件) 

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

  CrystalReport1 cr = new CrystalReport1();(在vs2003中是可以的) 
  DataSet ds = new DataSet(); 
   SqlDataAdapter ada = new SqlDataAdapter(cmd); 
     ada.Fill(ds.Tables["DataTable1"]); 
  cr.SetDataSource(ds); 
  CrystalReportViewer1.ReportSource = cr; 

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

在vs2005中默认情况下新建的CrystalReport1.rpt文件没有CrystalReport1.cs文件,应该怎么添加阿?? 
请高人指教!! 万分感谢! 问题解决 马上结贴 分不够可以再加! 


并且我也用过: 
string reportPath = Server.MapPath(Request.ApplicationPath) + "\\CrystalReport1.rpt"; 
customerReport.Load(reportPath); 
但是在本机一切正常可当程序上传到服务器时总是找不到正确的报表路径(我用过很多“Server.MapPath()”方法可是都找不到报表路径)

------解决方案--------------------
帮你顶
------解决方案--------------------
在服务器端你需要部署水晶报表,在你本机上是因为你装了Vs2005及水晶报表配套的东西。

建一个安装项目,添加合并模块,把水晶报表对应于VS2005的发布文件加进去,在服务器端运行一下你的安装程序就OK了

合并模板在安装盘里面Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages,2005需要的合并模块式CrystalReportsRedist2005_X86.msm
------解决方案--------------------
C# code

private void ShowReport()
        {
            using (SqlConnection cn = new SqlConnection("server=........."))
            {
                SqlCommand cmd = cn.CreateCommand();
                cmd.CommandText = "存储过程名";
                cmd.CommandType = CommandType.StoredProcedure;
                SqlParameter para = new SqlParameter("@FDate", "2008-03-01");
                cmd.Parameters.Add(para);
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                da.Fill(dt);
                ReportDocument rDoc = new ReportDocument();
                string path = Server.MapPath("Reports") + "\\报表名" ;
                try
                {
                    
                    rDoc.Load(path);
                    rDoc.SetDataSource(dt);
                    dt.Dispose();
                    crViewer.ReportSource = rDoc;

                }
                catch (Exception ex)
                {
                    MessageBox.Show("加载报表错误" + ex.Message, "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }