Tag: crystal reports

如何在Crystal Report中显示打印对话框?

我想将Crystal report直接打印到打印机。 目前我正在导出为PDF 。 但我的客户想要直接转到打印机。 如何在单击“打印”按钮时显示“ Print Dialog以将报告直接打印到“打印机”。 我想提一下:我正在使用C#和asp.net作为我的项目。 谢谢。

Crystal报告 – 关闭数据库连接

这是在C#,Visual Studio 2008,VS2008附带的水晶报告中 我有一个位于DLL中的水晶报表查看器表单。 DLL负责加载水晶报告(基于报告文件名),并在表单上显示报告。 当我完成水晶报告时,我在已加载的reportdocument对象上调用dispose。 但是,数据库连接仍然存在。 Crystal似乎检测到有其他连接(从我的主应用程序)到同一个数据库,并保持其连接打开。 关闭主应用程序数据库连接时,晶体连接将关闭。 有没有办法强制晶体关闭它的连接,而没有关闭主应用程序数据库连接?

C#Crystal Report问题和图表?

我的应用程序中有4个图表,使用自定义代码绘制…. 我还有一个rdlc水晶报告输出数据但不输出图表…… 我要做的是在报告中添加图表。 我可以在报告中添加一个Chart对象,但我不知道如何编程,因为它在报告中…我不知道如何通过reportviewer引用它… 只有解决方案似乎是DataSet绑定,但我太困惑了,它应该定制很多…不知道是否有可能没有编写源代码..任何想法? 请帮忙这是一件令人头疼的事

尝试加载Crystal Reports运行时时出现错误

我已经在内部网站上工作了很长一段时间,为客户维护它。 除了一些错误,该网站正在按预期工作。 但是,突然之间,出现了有问题的错误。 这从未发生过。 以下是我们使用的软件: Windows Server 2008 R2,64位 Visual Studio 2005作为首选IDE ASP.net / C#为该网站 .NET 2.0 IIS,用于网站托管。 CrystalReport10,它会出现(从图片中)。 现在,我已经对此做了一些研究,很多人建议重新构建/发布网站为x86而不是任何CPU ,很多人还建议重新安装64位CR等等。 但同样,这种情况从未发生过,实际上很少有人篡改服务器。 我认为没有理由为什么这个网站在我的时间之前很久就会使用“ 混合平台 ”构建,它会突然停止在它部署的操作系统上运行,也就在我的时间之前。 由于没有其他人使用该服务器,它怎么会突然产生这样的错误? 它不像有人可以去那里卸载东西 – Windows Update,也许? 这是我在C:\ Windows \ Assembly中在操作系统上找到的截图: 奇怪的是,我在我的本地测试开发PC上发现了同样的东西,为我正在研究的另一个程序增加了一些版本13部分。 该网站在我的本地测试开发工作正常。 在实时服务器上,它没有。 在我假设我可能有一些必要的服务器没有之前,我也让自己记住,现场服务器上的任何东西已经存在了一段时间 – 而且错误现在才开始发生。 这是完整的错误: ‘/’应用程序中的服务器错误。 尝试加载Crystal Reports运行时时发生错误。 Crystal Reports注册表项权限不足或Crystal Reports运行时未正确安装。 请安装包含所需的正确版本的Crystal Reports运行时(x86,x64或Itanium)的相应Crystal Reports可再发行组件(CRRedist * .msi)。 有关更多信息,请访问http://www.businessobjects.com/support 。 描述:执行当前Web请求期间发生未处理的exception。 […]

在PDF中生成Crystal的报告…如何在新标签或页面中打开?

我做了一个代码来生成PDF格式的Crystal Reports报告……但它在用户的同一页面打开并进行了搜索并点击了按钮…有办法在新的标签或页面中打开PDF ? 我的代码是: private void OpenPDF() { ReportDocument Rel = new ReportDocument(); Rel.Load(Server.MapPath(“../Reports/Test.rpt”)); BinaryReader stream = new BinaryReader(Rel.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat)); Response.ClearContent(); Response.ClearHeaders(); Response.ContentType = “application/pdf”; Response.BinaryWrite(stream.ReadBytes(Convert.ToInt32(stream.BaseStream.Length))); Response.Flush(); Response.Close(); } 谢谢您的帮助!

在运行时将图像添加到Crystal报表

我想在运行时将图像添加到水晶报表中。 我目前正在使用第二个数据表执行此操作,该数据表仅包含字节字段,然后是报表上的blob字段。 然而,这感觉就像一个黑客,如果第一个主表中没有数据,那么由于某种原因图像不显示。 是否可以使用代码或其他方法添加图像? 我正在为visual studio 2010使用水晶报告.Winforms项目。 无论是C#还是VB。

在Visual Studio 2005中使用Crystal Reports(C#.NET Windows应用程序)

我需要在C#.NET Windows应用程序中创建报告。 我有一个SQL Server 2005数据库,Visual Studio 2005,并且可以很好地创建存储过程和数据集。 有人可以指出我正确的方向来创建报告吗? 我似乎无法解决这个问题。 一些例子将是一个良好的开端,或一个简单的操作指南…任何真正比MSDN文档更好的解释。 我正在使用CrystalDecisions.Windows.Forms.CrystalReportViewer控件来显示报告,我认为这是正确的。 如果我即将踏上漫长而复杂的旅程,那么创建和显示可以打印的报告的最简单方法是什么?

为什么Crystal Report Viewer总是要求在WePOS操作系统上访问Access数据库的详细信息?

我使用Crystal Reports XI编写了一个报告,链接到Access数据库C:\ MyData.mdb。 该报告有一个字段(本例简化),没有子报告。 我使用C#.NET 4使用Forms和WPF Cyrtsal Report Viewer。 该报告在运行Windows XP的开发PC以及运行Windows XP的其他“tills”上成功查看。 但是,在运行WePOS(一种削减Windows XP)的情况下,报告“始终”显示一个对话框,询问登录详细信息,即用户名和密码。 此对话框还显示C:\ MyData.mdb的正确路径。 我花了很多天在这上面,尽可能地测试各种方式(我相信每个人都会记得这些时候!)。 我使用此代码来确保数据库正确链接到: TableLogOnInfo logonInfo; foreach (CrystalDecisions.CrystalReports.Engine.Table table in report.Database.Tables) { logonInfo = table.LogOnInfo; logonInfo.ConnectionInfo.ServerName = string.Empty; logonInfo.ConnectionInfo.DatabaseName = “C:\MyData.mdb”; logonInfo.ConnectionInfo.UserID = string.Empty; logonInfo.ConnectionInfo.Password = string.Empty; table.ApplyLogOnInfo(logonInfo); } …它适用于使用Windows XP的每台PC,除了使用WePOS的PC。 我也玩过: report.SetDatabaseLogon(string.Empty, string.Empty, “C:\MyData.mdb”, string.Empty); ……但没有区别。 Access数据库上没有用户名或密码 所有使用的PC都安装了相关的软件(运行时等) 所有的PC都使用Adminstrator帐户进行了测试(文件权限被双重检查) […]

如何检索Crystal Report中使用的SQL SELECT语句?

我目前正在开发一个C#程序,允许我们的用户运行,查看和导出一批Crystal Reports。 报告是使用Crystal Reports 2008 GUI完成的。 这样做的主要原因之一是允许我们在将Crystal Report导出为PDF时保留超链接。 我的程序通过导出到rtf,然后将rtf转换为pdf来完成此操作。 如果有人知道在转换为PDf时保留超链接的一种不那么复杂的方法我很乐意听到它,但这不是我当前的问题。 我已经做了很多测试,如何优化我的程序,使出口尽可能少的时间。 从我所看到的,对数据进行应用程序查询,然后将结果集绑定到Crystal Report是迄今为止最快的方法。 我的问题是我不能将查询硬编码到程序中,需要从Crystal Report本身中检索它们。 在Crystal Reports 2008中,“数据库”菜单下有一个名为“显示SQL查询”的选项。 这将打开一个窗口,其中包含用于给定报告的SQL查询。 这正是我需要从我的应用程序中获取的东西。 我已经加载了一个水晶报告,并在调试时遍历了ReportDocument对象,试图查找查询,但没有运气。 所以,我的问题是; 是否有任何方法可以让我提取给定Crystal Report使用的查询?

如何在数据集中使用2个sql请求和2个数据表在水晶报表中显示数据?

我有一个带有2个数据表a的数据集,我需要使用2个sql请求来显示水晶报表中的数据。 所以我在我的数据集中创建了2个数据表(DataTable1和dataTable2)我尝试了这个代码,但它总是执行第二个sql请求! con.ConnectionString = @”connection”; string sql = “MyRequest1”; string sql1 = “MyRequest2”; DataSet1 ds = new DataSet1(); SqlDataAdapter dad = new SqlDataAdapter(sql, con); SqlDataAdapter dad1 = new SqlDataAdapter(sql1, con); dad.Fill(ds.Tables[“DataTable1”]); dad1.Fill(ds.Tables[“DataTable2”]); CrystalReport1 report = new CrystalReport1(); report.SetDataSource(ds.Tables[“DataTable2”]); report.SetDataSource(ds.Tables[“DataTable1”]); crystalReportViewer1.ReportSource = report; crystalReportViewer1.Refresh();