- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在 SQL Server Reporting Services RDLC 报告中表示父子孙关系。该报表将呈现到托管在 WPF 应用程序中的报表查看器控件中。我正在使用基于 IEnumberable<> 的 CLR 数据集,并将报表查看器数据源绑定(bind)到虚拟机中的数据集。
我希望每个子实体显示在一个新页面上(如果数据集中有足够的孙子实体,则跨页)。
我目前有一个父实体的主报告、一个子实体的子报告和另一个子实体的子报告。
每个报表都使用 Tablix 在页面上布局相应 CLR 类的字段。我已在子报表的 Tablix 中分配了一个组,并将 PageBreaks 设置为 StartAndEnd(即在“组属性”对话框中选中所有 3 个复选框)。
我已经在所有能找到的地方关闭了 keep Together。
不幸的是,当我在打印布局模式下查看报表或导出为 PDF 时,分页符会被忽略,并且子报表中的子项全部流动在一起,而没有分页符将它们分开。
我在 SO 和 MSDN 上看到了几个关于不需要的分页符的问题,但我还没有找到任何关于丢失分页符的讨论。
有谁知道如何强制分页符出现在子报表中?如果没有,是否有更好/替代的方法来表示像这样的父/子数据而不使用子报告?
感谢您提供的任何见解。
FWIW,以下是可能相关的 RDLC 的一些摘录:
家长报告:
<TablixRow>
<Height>0.25in</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Rectangle Name="Rectangle1">
<ReportItems>
<Subreport Name="InvoicePageDetail">
<ReportName>InvoicePageDetail</ReportName>
<Parameters>
<Parameter Name="InvoiceID">
<Value>=Fields!InvoiceID.Value</Value>
</Parameter>
<Parameter Name="CustID">
<Value>=Fields!CustID.Value</Value>
</Parameter>
</Parameters>
<Height>0.25in</Height>
<Width>6.4in</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Subreport>
</ReportItems>
<PageBreak>
<BreakLocation>End</BreakLocation>
</PageBreak>
</Rectangle>
<ColSpan>3</ColSpan>
</CellContents>
</TablixCell>
<TablixCell />
<TablixCell />
</TablixCells>
</TablixRow>
子报告:
<?xml version="1.0" encoding="utf-8"?>
<Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition">
<DataSources>
<DataSource Name="ISCBillingDataModel">
<ConnectionProperties>
<DataProvider>System.Data.DataSet</DataProvider>
<ConnectString>/* Local Connection */</ConnectString>
</ConnectionProperties>
<rd:DataSourceID>50ce54a7-32e3-46df-bd7c-97f194ba4390</rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets> snip...
</DataSets>
<Body>
<ReportItems>
<Tablix Name="Tablix1">
<TablixBody>
<TablixColumns> snip...
</TablixColumns>
<TablixRows>
<TablixRow>
<Height>0.25in</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Subreport Name="InvoiceFixedFeeDetail">
<ReportName>InvoiceFixedFeeDetail</ReportName>
<Parameters>
<Parameter Name="InvoicePageID">
<Value>=Fields!InvoicePageID.Value</Value>
</Parameter>
</Parameters>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Subreport>
<ColSpan>3</ColSpan>
</CellContents>
</TablixCell>
<TablixCell />
<TablixCell />
</TablixCells>
</TablixRow>
</TablixRows>
</TablixBody>
<TablixColumnHierarchy>
<TablixMembers>
<TablixMember />
<TablixMember />
<TablixMember />
</TablixMembers>
</TablixColumnHierarchy>
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<Group Name="Group1">
<GroupExpressions>
<GroupExpression>=Fields!InvoicePageID.Value</GroupExpression>
</GroupExpressions>
<PageBreak>
<BreakLocation>StartAndEnd</BreakLocation>
</PageBreak>
</Group>
<SortExpressions>
<SortExpression>
<Value>=Fields!InvoicePageID.Value</Value>
</SortExpression>
</SortExpressions>
<TablixHeader>
<Size>0.03125in</Size>
<CellContents>
<Textbox Name="Textbox11">
<CanGrow>true</CanGrow>
<CanShrink>true</CanShrink>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style />
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox11</rd:DefaultName>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>None</Style>
</Border>
</Style>
</Textbox>
</CellContents>
</TablixHeader>
<TablixMembers>
<TablixMember>
<Group Name="Details">
<PageBreak>
<BreakLocation>StartAndEnd</BreakLocation>
</PageBreak>
</Group>
<TablixMembers>
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
</TablixMembers>
</TablixMember>
</TablixMembers>
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
<DataSetName>pages</DataSetName>
<PageBreak>
<BreakLocation>Start</BreakLocation>
</PageBreak>
<Height>3.45in</Height>
<Width>6.38125in</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Tablix>
</ReportItems>
<Height>3.6in</Height>
<Style>
<Border>
<Color>Green</Color>
<Style>None</Style>
</Border>
</Style>
</Body>
<ReportParameters>
<ReportParameter Name="InvoiceID">
<DataType>Integer</DataType>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="CustID">
<DataType>String</DataType>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters>
<Width>6.43125in</Width>
<Page>
<LeftMargin>1in</LeftMargin>
<RightMargin>1in</RightMargin>
<TopMargin>1in</TopMargin>
<BottomMargin>1in</BottomMargin>
<Style />
</Page>
<rd:ReportID>a360303c-713c-4baf-b9ce-32ae0997c855</rd:ReportID>
<rd:ReportUnitType>Inch</rd:ReportUnitType>
</Report>
最佳答案
我有一个部分答案,但在我看来这似乎是一个黑客。我将暂时保留这个问题,看看是否有人可以提出更好的答案......
为了强制分页符出现在我想要的位置,我通过对驱动主报告的 CLR 数据集进行非规范化来消除嵌套的子报告。然后,我在主报告上使用行组来影响页面布局,并在“组属性”对话框的“分页符”选项卡上设置“每个实例之间”和“也在开头”的复选框,相当于 RDLC xml 中的以下设置:
<PageBreak>
<BreakLocation>Start</BreakLocation>
</PageBreak>
我将孙子实体(发票行)标准化为自己的数据集和子报告,因为行的列布局与发票标题或发票页面级别显着不同。
<小时/>虽然这会产生所需的布局,但我对此答案并不完全满意,因为我不喜欢对数据集进行非规范化。我想研究一下 DataElementName 的工作原理以及这是否可以产生更好的解决方案。
欢迎其他答案
关于rdlc - RDLC 子报表中的分页符不出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4742914/
我有一份 RDLC 报告说我遇到了分页符问题。该报表有一个组,其中包含许多无法在一页中显示的记录。此报告在正常模式下呈现良好,但当我切换到打印模式时,出现以前不存在的“额外”分页符。这会导致报告打印在
我试图在 SQL Server Reporting Services RDLC 报告中表示父子孙关系。该报表将呈现到托管在 WPF 应用程序中的报表查看器控件中。我正在使用基于 IEnumberabl
通常在 RDLC 报告中,如果您使用标题,它会在每一页上重复出现。 如果我只想在第一页显示标题而不显示其余页面,有什么解决方案?有什么方法可以告诉哪些页面上的页眉可见? 最佳答案 您不能对页眉执行此操
我有一个显示表格的 RDLC 报告。 此表中的某行在某些情况下不应出现。 如果这些条件适用,我可以使用表达式将 Hidden 属性设置为 false。 问题是,虽然隐藏了,但该行仍在表中发生,即它没有
我有一个没有标题的 .rdlc 报告(我有组标题) 我想将 PageNumber 放在组标题上。 如果我使用 Globals!PageNumber 我会得到这个错误: textrun 'Textbox
多年来,我一直在使用 SSRS 报告(RDL 和 RDLC),但我还没有找到解决这个问题的方法:假设我的报告中有 x 个字段。我想一次突出显示所有字段并同时修改所有字段的背景颜色、前景色、字体和字体大
我制作了一份 RDLC 报告,该报告根据我提供的数据集生成其 tablix。我需要单元格的内容(Tablix 中的每个文本框)来根据其内容更改其背景颜色。 例如: Name | Val Joe |
我制作了一份 RDLC 报告,该报告根据我提供的数据集生成其 tablix。我需要单元格的内容(Tablix 中的每个文本框)来根据其内容更改其背景颜色。 例如: Name | Val Joe |
我已经创建了一个 rdlc 报告。我的表单上有一个 reportViewer。当我尝试加载报告时,我得到:“尚未指定报告 'xxxx.rdlc' 的报告定义”。我想不通。我有一个数据表,其中包含报告所
哪些版本的 Microsoft Visual Studio Express 可以编辑 rdlc文件? 我需要一个免费资源供最终用户编辑报告以修复外观问题,而无需强制他们购买完整的 VS 许可证。 最佳
有没有办法只在第一页显示报告标题?正如预期的那样,PageHeader.PrintOnFirstPage 仅显示或隐藏第一页的页眉。客户希望标题只出现在第一页上,有点像文档中的标题。我看了MS-RDL
我已阅读有关自定义报告项 (CRI) 的这篇文章 http://msdn.microsoft.com/en-us/magazine/cc188686.aspx 唯一的问题是 CRI 只能用于报告服务,
我在一个 Windows 应用程序中工作,我希望在我的 RDLC 报告文本中是合理的。 最佳答案 我做了一个函数来转换字符串列表中的文本。您可以使用没有标题的表格将其显示为对齐的段落。
在我的应用程序 (.NET Framework 4.5) 中,我渲染了一些 RDLC 报告 (50-60),以便将它们导出为单个 PDF。 不幸的是似乎有一个很大的内存泄漏,基本上每个 LocalRe
我有一个Visual Studio 2005解决方案,其中包含两个项目-VB中的Windows Forms项目和C#中的类库。我的VB项目包含一个RDLC报告文件。 我最近了解到,您可以向RDLC报告
我正在生成 RDLC XML 架构并在 ReportViewer 控件中显示报告。没有问题。 现在,我想要一个包含 2 个表和 2 个不同数据集的报告。 生成这样的东西:
我有一份看起来不错的 RDLC 报告,但奇怪的是,数据并没有按照我在用作数据源的 XSD 文件中指定的方式进行排序。当我在 XSD 文件中“预览数据”时,它被正确排序。 我在我的调用 ASP 文件或
我在数据库中有值: 10.4 33 42.87 1.01 22.1 8 我知道我可以在 RDLC 报告中格式化数字,但是,我如何确保数据的输出始终为: 10.40 33.00 42.87 1.01 2
使用 ReportViewer,我想使用 rdlc 文件在一份 pdf 中呈现多个报告。 Byte pdfByte = Byte(); pdfByte = ReportViewer.LocalRepo
我正在处理 RDLC 报告,我使用 DB 图像,并将其大小类型设置为比例,如果图像的尺寸与边框不完全一样,则边框不适合..没关系,但是图像将根据边框左上对齐,而我需要它居中(在 PDF 上),而在 I
我是一名优秀的程序员,十分优秀!