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

时间:2011-03-29 07:36:17

标签: c# reportviewer

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

每个页面中唯一可以看到的是页眉和页脚,但这些部分不允许在其中使用表格。我可以用于页面标题上的所有工作都是一个文本框。

我试图将我的标题写入一些texbox并将它们并排放置,但随后报表数据从标题的边界偏离。

如何解决此问题?

5 个答案:

答案 0 :(得分:35)

在您的.rdlc报告中,右下角有一个带有红色框的小箭头,您需要点击“高级模式”。 enter image description here

通过单击,您的行和列组将展开名为“Static”的新字段,如下所示: enter image description here

现在,单击“行组”列表中的“静态”,然后检查右侧的属性: 将“RepeatOnNewPage”设置为“True”,将“KeepWithGroup”设置为“After”,如下所示: enter image description here

现在,对“行组”列表中的所有“静态”行重复上述过程,但不同组下面的“静态”行(下图中用黑色环绕)除外,对“详细信息”组执行相同操作(用红色环绕)颜色): enter image description here

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

答案 1 :(得分:30)

image

在报告主页下方的行组中,有一行“静态”写在上面。它是一个Tablix成员,重复标题使用以下属性

RepeatOnNewPage = TrueKeepWithGroup = After

答案 2 :(得分:4)

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

答案 3 :(得分: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;
}
//....

,但标题只能在1页上看到。我应该写什么才能看到每页上的标题?

答案 4 :(得分:1)

以下解决方案为我工作..当您在rdlc文件中只有单个组数据时。对于文件中的多个组数据,它不会

在行组区域中重复包含行标题的列

1.在“设计”视图中,右键单击所选Tablix数据的角手柄 区域,然后单击Tablix属性。

2.在“常规”选项卡的“行标题”下,选择“每页重复标题行”。

3.单击“确定”。