如何在c#中手动将连接信息添加到水晶报表?

时间:2013-02-06 20:17:53

标签: c# crystal-reports

我有一个包含水晶报表查看器的表单,我有一个水晶报表。水晶报告没有数据连接,没有数据源,因为我已手动连接到我的数据库。 (通过编写所有内容的代码) 我想在报告中显示数据。如何将报表的连接信息设置为我在表单中的连接信息。即。 myDataset,myCon等。

P.S:我对Crystal Reports非常陌生。我查看了教程但是使用了水晶报告向导来建立连接。

谢谢

1 个答案:

答案 0 :(得分:0)

我将连接字符串放在Configuration.AppSettings中。

CrystalReportSource CrystalReportSource1 = new CrystalReportSource();
CrystalReportViewer CrystalReportViewer1 = new CrystalReportViewer();

CrystalReportViewer1.ReportSource = CrystalReportSource1;
CrystalReportViewer1.EnableParameterPrompt = false;
CrystalReportSource1.Report.FileName = "Report3.rpt";
CrystalReportSource1.EnableCaching = false;

CrystalReportSource1.ReportDocument.SetParameterValue(0, ponumber);
CrystalReportSource1.ReportDocument.SetParameterValue(1, receiptno);



TableLogOnInfo logOnInfo = new TableLogOnInfo();

logOnInfo.ConnectionInfo.ServerName = ConfigurationManager.AppSettings["WarehouseReportServerName"];
logOnInfo.ConnectionInfo.DatabaseName = ConfigurationManager.AppSettings["WarehouseReportDatabaseName"];
logOnInfo.ConnectionInfo.UserID = ConfigurationManager.AppSettings["WarehouseReportUserID"];
logOnInfo.ConnectionInfo.Password = ConfigurationManager.AppSettings["WarehouseReportPassword"];

TableLogOnInfos infos = new TableLogOnInfos();
infos.Add(logOnInfo);
CrystalReportViewer1.LogOnInfo = infos;

maindiv.Controls.Add(CrystalReportSource1);
maindiv.Controls.Add(CrystalReportViewer1);


CrystalReportViewer1.DataBind();