如何在Microsoft Report Viewer中在每个页面显示报告标题

21

我正在尝试创建一些报表,并希望在每个页面的报表中显示标题。我创建了一个表格,最上方的行成为我的标题,但它只会在报表的第一页显示。

每个页面中唯一可以看到的是页面头和页面脚,但这些部分不允许放置表格。我在页面头上所能使用的只有文本框。

我尝试将标题写入一些文本框并将它们并排放置,但是报表数据会超出标题边界。

我该如何解决这个问题?

6个回答

38

在你的.rdlc报告中,右下角有一个小向下箭头和一个红色框,你需要点击“高级模式”。 在此输入图像描述

点击后,您的行和列组将展开,并显示名为“Static”的新字段,如下所示: 在此输入图像描述

现在,在行组列表中点击“Static”,并检查右侧的属性: 将“RepeatOnNewPage”设置为“True”,将“KeepWithGroup”设置为“After”,如下所示: 在此输入图像描述

现在,对于行组列表中除不同组下存在的“Static”行(在以下图中用黑色圆圈圈出)以外的所有“Static”行,均重复上述过程,对于细节组(在以下图中用红色圆圈圈出),也做同样操作: 在此输入图像描述

这使您能够在.rdlc报告的每一页上查看标题行。


29

image

在报表主页面下面的行组中,有一行上面写着“静态”。它是一个表格成员,为了重复标题,请使用以下属性:

RepeatOnNewPage = TrueKeepWithGroup = After


啊,谢谢。我自己也在苦苦挣扎,从来没有注意到高级选项卡。非常感谢! - DeVil

4
当您选择表头行并查看其属性时,它具有名为RepeatOnNewPage的属性,将其设置为true,则表头将在每个新行上重复出现。

谢谢您,但是这个属性似乎没有出现在Tablix属性中。 - Bastardo
@EmreVeriyaz,这不是Tablix的属性,您必须首先通过单击其标题行来选择表头行,然后您将在属性网格中看到此属性。 - IordanTanev
我明白了,Iordan。我打开了属性网格,但是里面没有RepetOnNewPage属性,只有一个提到Repeat的RepeatWith属性。我回答了自己的问题,解决了问题,感谢你的帮助。 - Bastardo
@Bastardo,你找到解决问题的方法了吗?我也有同样的问题。 - stian64
@stian64,当时我自己回答了我的问题,解决了我的困扰。https://dev59.com/Wm035IYBdhLWcg3wW-v0#5469839 - Bastardo

2

1

我正在创建一个动态表格 - 报告。我无法分组行。当我将XML文件导出为PDF时,我正在写入

//......
string deviceInfo =
" <OutputFormat>PDF</OutputFormat>" +
" <PageWidth>11in</PageWidth>" +
" <PageHeight>8.5.0in</PageHeight>" +
" <MarginTop>0.05in</MarginTop>" +
" <MarginLeft>0.05in</MarginLeft>" +
" <MarginRight>0.05in</MarginRight>" +
" <MarginBottom>0.05in</MarginBottom>" +

" <KeepWithGroup>After</KeepWithGroup>" +
" <RepeatOnNewPage>true</RepeatOnNewPage>" + 
" <FixedData>true</FixedData>"+
" <RepeatHeaderOnNewPage>true</RepeatHeaderOnNewPage>" +
"</DeviceInfo>"; 
try
{
byte[] bytes = reportViewer1.LocalReport.Render(
"PDF", deviceInfo, out mimeType, out encoding, out filenameExtension,   //horizontal page
out streamids, out warnings);
using (FileStream fs = new FileStream(filename, FileMode.Create))
{
fs.Write(bytes, 0, bytes.Length);
fs.Close();
}
 return filename;
}
//....

但是标题只能在第一页看到。我应该写什么才能让页眉在每一页都显示?


我只能建议你将它作为一个问题询问Irena网站,除此之外我无法提供帮助。 - Bastardo
谢谢,Robolover。我已经在这个网站上问了你的问题,但是我还没有收到回复。 - Irena
好的,我会为此发布悬赏。如果您没有得到回复,您能否每天更新一下您的问题? - Bastardo
我还在等待答案...这是我的问题。 - Irena
https://dev59.com/JmTWa4cB1Zd3GeqPEYxf - Irena
我已经开始了悬赏,Irena,请尝试编辑你的问题以便更多人关注它。祝你好运。 - Bastardo

1
以下解决方案对我很有帮助,当您的rdlc文件中只有单个组数据时有效。对于文件中的多个组数据无效。
要在行组区域中重复具有行标题的列,请按照以下步骤操作:
1. 在设计视图中,右键单击所选表格数据区域的角落手柄,然后单击“Tablix属性”。
2. 在“常规”选项卡下,“行标题”下选择“在每个页面上重复标题行”。
3. 单击“确定”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接