2009-09-02 81 views
3

我正在使用Reportviewer生成要由用户打印的销售发票。如何将数据绑定字段打印在多页发票的每个页面上?Visual Studio ReportViewer在每个页面上重复数据块

发票印在预先印好的表格上。我希望打印的形式大致如下:

第1页
客户的约翰·史密斯
123 MAIN ST。
城,CA 90000

一些项目1 $ 100
一些项目2 $ 150
一些项目3 $ 150


第2页
顾客约翰·史密斯
123 MAIN ST。
城,CA 90000

一些项目4 $ 500强
一些ITEM5 $ 250
一些ITEM6 $ 950
总计$ 2100年

使用1个列表,它包含了客户信息的数据绑定文本字段,并为表项目。问题是,如果有很多项目使项目流向页面2,则下一页面仅包含项目,而不包含需要在第二页上打印的客户信息。

我试过使用页眉,但是我不能在页眉中使用数据绑定项。请帮忙!

回答

0

我想你使用表的表体只需要添加的项目,并在组头分组把客户信息和刚刚成立RepeatOnNewPage以诚实信用为报告标题行 最好的问候, 约尔丹

0

高度有价值的资源是GotReportViewer网站,他们有一个名为Invoice Maker的样本值得一看。

this MSDN page描述了一个你可以使用的技巧,它需要在页眉中添加你想要的字段到报告主体中,然后隐藏该字段,然后在你的页眉中引用隐藏文本字段,例如=首先(ReportItems!txtHiddenFieldName.Value)

+0

感谢您的答复。我已经检查过发票制造商样本项目,它基本上和我的一样。当我添加了很多项目时,第2页仅显示项目。 我会看看MSDN页面,听起来像我需要的东西。 – muhan 2009-09-02 10:04:30

+0

GotReportViewer站点是Report Viewer信息的一般资源,MSDN页面文章显示如何解决您的实际问题。 – 2009-09-03 00:55:22

3

在XML视图中打开RDLC文档。找到TablixColumnHierarchy树下面的代码块并进行相应的修改。关键是在TablixMember标签之间设置RepeatOnNewPage标签= true。

希望这可以防止数小时与其他人作战!

见下段:

... 
    <TablixColumnHierarchy> 
     <TablixMembers> 
     <TablixMember /> 
     <TablixMember /> 
     <TablixMember /> 
     <TablixMember /> 
     <TablixMember /> 
     <TablixMember /> 
     <TablixMember /> 
     <TablixMember /> 
     <TablixMember /> 
     <TablixMember /> 
     </TablixMembers> 
    </TablixColumnHierarchy> 
    <TablixRowHierarchy> 
     <TablixMembers> 
     <TablixMember> 
      <KeepWithGroup>After</KeepWithGroup> 
      <RepeatOnNewPage>true</RepeatOnNewPage> 
     </TablixMember> 
     <TablixMember> 
      <KeepWithGroup>After</KeepWithGroup> 
      <RepeatOnNewPage>true</RepeatOnNewPage> 
     </TablixMember> 
     <TablixMember> 
      <Group Name="Details" /> 
      <RepeatOnNewPage>true</RepeatOnNewPage> 
     </TablixMember> 
     </TablixMembers> 
    </TablixRowHierarchy> 
    <RepeatColumnHeaders>true</RepeatColumnHeaders> 
    <RepeatRowHeaders>true</RepeatRowHeaders> 
    <FixedColumnHeaders>true</FixedColumnHeaders> 
    <FixedRowHeaders>true</FixedRowHeaders> 
    <KeepTogether>true</KeepTogether> 
    <DataSetName>ds_Triangulation</DataSetName> 
    ...