如何在Crystal Reports中使用安装项目

时间:2013-11-08 13:23:20

标签: c# winforms ms-access crystal-reports

这是我第一次这样做。

我已经构建了一个软件。我将使用Visual Studio中的安装程序包。我想我将使用Setup Project为基于Windows的应用程序构建安装程序,因为我的项目是基于Window Forms构建的。我收录了Crystal Reports。就目前而言,当用户点击显示报告的按钮时,我的应用程序中有方法。在该方法中,.rpt文件路径显示为....

 cryRpt.Load("C:\\MyFolder\\MyFolder\\ProjectName\\FolderName\\HRMS\\HRMS\\Report.rpt"); // this is from my PC.

所以我的问题是我需要知道如何设置正确的.rpt文件路径。它将在何处安装?

为了澄清我需要在客户端PC上安装Crystal Reports吗? http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_13_0.exe

因为我查看了这个帖子...... here

我是否需要在客户的PC上做任何其他事情?

我不确定我是否会遇到与此线程有关的问题here我有硬编码路径,有什么建议吗?

如果有人能在这里帮助我,请提前感谢。

using CrystalDecisions.CrystalReports.Engine;

private void btnReportA_Click_1(object sender, EventArgs e)
    {
        ReportDocument cryRpt = new ReportDocument();
        cryRpt.Load("C:\\MyFolder\\MyFolder\\ProjectName\\FolderName\\HRMS\\HRMS\\Report.rpt");
        crystalReportViewer1.ReportSource = cryRpt;
        crystalReportViewer1.Refresh();
    }

 public partial class MainForm : Form
 {
    public MainForm()
    {
       InitializeComponent();
       myCon = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data  
       Source=C:\MyFolder\MyFolder\ProjectName\FolderName\database.mdb");
       crystalReportViewer1.Refresh();
    }

使用解决方案更新1

我看着水晶报告动态路径,我从代码行改变了......

cryRpt.Load("C:\\MyFolder\\MyFolder\\ProjectName\\FolderName\\HRMS\\HRMS\\Report.rpt");

cryRpt.Load(Application.StartupPath + "\\Report.rpt");

然后在bin \ Debug

中移动rpt文件

您可以使用以下代码找到您的bin / Debug文件位置...

TextBox1.Text = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly
().Location);

我从这个网站得到的。

我认为以上是一个解决方案。

每当我发现如何使用Crystal Reports安装项目时,我都会给出更新2,因为我可能需要也可能不需要在客户端的PC上更新。

花了几个小时来解决这个问题。

更新2 我将打开一个新的主题。我认为更新1并不是真正的解决方案。

1 个答案:

答案 0 :(得分:2)

您可以随时将报告添加到项目中,然后像"~\Report.rpt"一样引用它。 就部署运行时而言,在运行时部署时从SAP读取此wiki