问题标签 [subreports]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3643 浏览

visual-studio - 主报告中详细信息部分的子报告重复数据

请帮我 !我在 Visual Studio 的 Crystal Report 中遇到问题::

我在主报告中有 2 个子报告,我把它们放在主要的详细信息部分,当我运行报告时,子报告重复了很多次..

感谢您的解决方案。

0 投票
1 回答
6698 浏览

crystal-reports - Crystal Reports:如果另一条记录为空则显示一条记录,反之亦然

我正在构建一个子报表,并有两个表,我使用其中一个字段,每个字段都包含一个电话号码。

原始编号 {TABLE1.ORG}

临时编号 {TABLE2.TEM}

我想要的是:

如果 {TABLE2.TEM} 不为空,则隐藏 {TABLE1.ORG},否则显示 {TABLE1.ORG}

我尝试将上述内容用作公式,但它也不起作用因为这两个字段来自两个不同的表,如果在设计模式下将它们彼此相邻放置(没有任何公式或抑制):

{TABLE1.ORG} {TABLE2.TEM}

...我在预览模式下在不同的行上看到它们:

也许是因为公式从同一行读取记录和评估,我想这就是上面无法正常工作的原因。

0 投票
0 回答
713 浏览

sql-server - SQL Server Reporting Services 2008:如何在具有可展开或折叠的嵌套行组的表中嵌入子报表

我有一个看起来像这样的主要报告(见下文)。它有 2 个行组 + 详细信息组。行组是国家和城市的层次结构,城市最初是隐藏的,但可以从国家字段 (+) 切换。详细信息组包含人口数。现在,我想在数字下方的字段中放置一个子报表(该字段是详细信息组的一部分),这样当城市折叠时,子报表显示国家的数据,而当城市展开时,显示每个城市的子报告以及该城市的数据。


乡村城市人口


[+] 丹麦 2050000 * 子报告到这里!*


[+] 法国 4025000 * 子报告到这里!*


[-]意大利米兰1600000 *子报告去这里! 罗马 2300000 子报告去这里! 都灵 1250000 子报告去这里! 总计 5150000 子报告去这里!*


[+] 荷兰 3825000 * 子报告到这里!*


[-] 挪威 Kristianstad 320000 * 子报告去这里! 拉维克 450000 子报告去这里! 奥斯陆 800000 子报告去这里! 总计 1570000 子报告去这里!*


[+] 西班牙 5250000 * 子报告到这里!*


[+] 瑞典 1800000 * 子报告到这里!*


总计 23670000 * 子报表到这里!*


但是,当我这样做并尝试在 BIDS 的“预览”窗格中测试报告时,我收到错误消息“本地报告处理期间发生错误。对象引用未设置为对象的实例。”。

如果我在“国家/地区”和“城市”行组的“组属性”对话框的“可见性”窗格中设置“隐藏”= False 和“切换项”= 空白,我已经设法使报告工作,包括子报告。所以子报表或者主报表和子报表之间的参数没有问题。但是,一旦我为 City 组打开“可以通过此报告项目切换显示”功能,报告就会以 abv 失败。错误。

有谁能帮忙吗?现在已经为这个问题挣扎了2天......

0 投票
2 回答
768 浏览

jasper-reports - 整合所有子报告后未生成主报告

我有 4 个子报表正在尝试集成到主报表中。

  • 第一个子报表有 7 页
  • 第二个有2页
  • 第三有2页
  • 第四有2页

每个jasper文件的大小分别为:

  • 131 KB
  • 58 KB
  • 85 KB
  • 174 KB

所有子报表的内容大多是静态文本。


我面临的问题是当我将这些子报表与主报表集成并以 Excel 格式预览时

  • iReport 工具(4.1.3 版)停止运行
  • 经过很长时间(大约 10 分钟)后,它会给出以下错误消息

    /li>

你能告诉我可能是什么原因吗?我已经尝试了所有选项。我也尝试将第一个子报表设置为主报表,但我仍然面临同样的问题。如果您能在这里帮助我,我将不胜感激。

0 投票
1 回答
2493 浏览

winforms - 带有子报告的 Microsoft VS2012 报告在 Dev 中工作但不是实时的

我几年前编写的一个 Windows 应用程序最近需要进行一些更改(最初用 VS2005 编写,使用 VS2008 修改,现在更新/修改为 VS2012 项目)。

该应用程序包含一个包含两个子报告的 Microsoft 报告。ReportViewer1.LocalReport.SubreportProcessing子报表数据是一个数据集,在事件期间填充。

向主报告添加了一个新字段,但未修改子报告。该报告在开发 PC 上按预期工作,但是当安装在客户端笔记本电脑上时,子报告失败并显示以下消息:- Data retrieval failed for the sub-report, <report name>, located at <report...rdlc>. Please check the log files for more information

客户端笔记本电脑上不生成日志文件

我尝试手动安装 CTP 2012 Microsoft Report 查看器,但安装失败,报告已存在较新版本(可能来自 SQL Server Express 2012,也同时安装)。

用于测试的数据库是从实时备份中恢复的,所以数据是一样的。添加ReportDataSource到子报告的子报告事件包含一个不会引发任何异常的 try-catch 块

在开发过程中,当我在 VS2012 中打开报告时,会打开一个对话框,询问是否应该将它们更新为 2012 格式,我允许这样做,尽管这可能与故障无关。

有没有人遇到过这个问题?有没有办法强制客户端笔记本电脑上的日志文件的物理输出?

更新

在代码中放入一些 MessagesBoxes 我找到了子报告不处理的原因,但我现在需要找出原因。

'LocalReport_SubreportProcessing' 事件为我的报告触发两次 - 每个子报告触发一次。

为了确定哪个子报表需要额外的数据源,我检查了“SubreportProcessingEventArgs.ReportPath”的值。在我的开发系统中,它具有报告的名称(减去 .rdlc 扩展名),但在客户端笔记本电脑上,该值为空。

我看不到报告是如何内置到输出中的。主报告在笔记本电脑上显示正常(只是缺少子报告),虽然我目前不知道从哪里显示 - 需要更多调查!

0 投票
2 回答
2492 浏览

crystal-reports - 子报表中的变量能否用于对主报表中的信息进行分组(水晶 10)

我已经建立了一个主报告,其中包含 2 个子报告。
主报告包含一个表:ROOM 和两个参数:STARTDATE 和 ENDDATE。日期范围仅在主报告中,因此可以显示在标题区域中。更重要的是,它链接到 2 个子报表。

现在,主要报告按设施分组,然后按房间名称分组。一切都很好,直到我尝试运行它超过一天。我想要的是主报告也按日期分组,但我不知道这是否可能,因为 ROOM 表不包含将参数链接到的日期字段,以便我可以在分组中使用它.

是否可以在子报表中创建一个 Date 变量,然后可以将其传递回主报表以用于分组?如果这是一个愚蠢的问题,我深表歉意,但我不经常使用变量,共享变量甚至比其他任何变量都少。

0 投票
1 回答
1400 浏览

c# - 委托如何使用通用和可扩展类响应多个事件?

我已经设置了一种技术来处理 rdlc 报告中的多个子报告,但是由于我试图使其通用且可重复,因此我不得不采用该模型并针对每种情况对其进行微调。

例如,如果我定义一个抽象接口,就像这样,我只是根据需要将它从 winform 剪切并粘贴到 winform:


首先,我希望能够通过包含一个 has-a 对象将其带入每种形式。我还想封装委托处理调度的行为,并使处理方法也“通用”。

所以,设计要求是:

  • 创建一个可以包含在winform中的对象来处理多个子报表处理
  • 在winform中实例化和配置对象
  • 在 winform 中构建调度表或 switch/case 语句
  • 传入所有方法来处理该 winform 的报表查看器的特定要求

目标是制作一个可以独立测试并变得健壮的对象,并且不必剪切和粘贴轮子并为每个新的 Winform 进行大量手动调整。

在我看来,有人找到了比我目前拥有的更好的设计。

创建一个可以包含在winform中的对象来处理多个子报表处理

到目前为止,我在本地表单加载事件中有一个委托:

这由 *LocalReport_SubreportProcessing* 方法中的 switch 语句处理。

该方法的主体包含一个 switch 语句:

在旁边:

在我看来,与我考虑的替代方案相比,这个开关主要是人类可读的。我考虑使用以报表名称作为键、函数调用数据作为值的散列。但是,我真的不知道该怎么做,我认为其他人会更难理解。


之后,调用一个函数,重新排列从 switch 语句中的函数调用传递的信息:

这种重新排列绝对是代码口吃,但似乎是我试图实现的策略模式的必要中间体:

以下是其中一份报告的战略的具体实施:

无论如何,我的愿望是不必在报告之间重复使用相同的逻辑,因为我有许多带有多个子报告的报告。

我想要一种使用类来动态创建发生口吃的中间部分的库质量方式,并且我想传入一个“匿名”函数,它实际上实现了子报表与其相应数据源的详细连接。

对于带有子报表的单个报表,甚至是几个一次性报表,我所做的是可以的,但如何才能减少手动、更健壮和更可测试呢?

我的环境是 Visual Studio 2008,目标是 .NET 3.5;抽象类的声明方式和编译方式似乎有所不同。

0 投票
0 回答
682 浏览

report - Reporting Services 中具有子报表的子文件夹

好的,这是我的方案: 1 - A 类型 - 带有多个子报表(C 或 D 类型)的大报表 10 - B 类型 - 带有一个或两个子报表(C 或 D 类型)的报表 20 - C 类型 - 可能的子报表或可能没有子报告(D 类型) 4 - D-Type - 可能有 D-type 子报告的叶基报告

A 和 B 报表的子报表具有在子报表属性中指定的路径 Subreports/ C 和 D 没有指定额外的路径(只是子报表的名称)

在 ms rs 服务器路径 \Reports 上部署 A 和 B 报告 在 \Reports\SubReports 中部署 C 和 D

现在:部署后,将仅访问 A 和 B 类型的报告,并且在此配置中它们可以完美地工作。在开发模式下,我必须一起破解一些东西,这样我才能在这个项目中有一些秩序,所以我用 2 个项目制作了 1 个解决方案(一个用于 A 和 B 类型报告,另一个用于 C 和 D 类型报告)并将它们放在相同的文件夹,因此 BIN 文件夹对于两者都是相同的(部署和发布都在 bin 根文件夹中设置)现在项目 1(A 和 B)的 OutputFolder 是 BIN,项目 2(C 和 D)的输出文件夹是BIN\子报表。Project 2 中的所有内容在开发模式下都运行良好。

问题 在项目 1 中,我为 A 或 B 类型的报告设置了一个路径为 SubReports/ 的子​​报告,因为这是在 BIN 文件夹中存储子报告的位置。A 报告转到此文件夹并运行报告,只有报告在同一 SubReports/ 文件夹中有子报告,这让我出错。我认为这是因为 A 报告使用 A 报告(BIN 文件夹)的路径运行 C 报告(例如),所以 C 报告(在同一文件夹中查找它的子报告)现在正在 BIN 文件夹中查找它的子报告而不是 BIN\SubReports 文件夹。我该如何解决?

0 投票
1 回答
617 浏览

crystal-reports - 0 条记录时未使用子报表参数

我在水晶报表中有一个子报表,但返回了 0 条记录,但子报表坚持要提取曾经输入的每个订单备注,但仍显示 0 条备注。

这很奇怪,它说“读取记录 0 of 150000”并不断增加。

子报表唯一的选择标准是公司代码、客户代码和订单号。他们都通过了“{?PM-...”的事情。

我打开了一个空白子报表的预览,SQL 甚至没有提到选择标准。自己运行的查询确实会显示每一条评论。

关于如何发生这种情况的任何想法?

子报表公式:

0 投票
1 回答
1235 浏览

parameters - 将多值参数连接到子报表

我有一份水晶 xi 报告,其中有一份主报告和许多子报告。

我已将所有子报告链接到 2 个参数,这对于单独的标准匹配非常有效,但是我现在需要能够为我可以设置的参数之一选择多个标准,但它只是不传递详细信息到子报表。

这是我目前在我的主要报告记录选择中的内容

这就是我在子报表记录选择中的内容

我想我最理想的是'=' parameter1 和'contains' in parameter2

我试图搜索解决方案,但我不知道我应该寻找什么条件加入;多值参数还是其他?

提前感谢您的任何指导。