C# 按组重置RDLC报告中的页码
这似乎应该足够简单。我有一份包含Tablix的报告,其中包含按客户分组的报告,该报告强制在分组之间分页符。我希望页码为每个客户,因此页面应如下所示:C# 按组重置RDLC报告中的页码,c#,rdlc,C#,Rdlc,这似乎应该足够简单。我有一份包含Tablix的报告,其中包含按客户分组的报告,该报告强制在分组之间分页符。我希望页码为每个客户,因此页面应如下所示: Customer1 Page 1/2 Customer1 Page 2/2 Customer2 Page 1/1 Customer3 Page 1/4 etc, etc 我似乎找不到重置页码或使总页数成为组的总页数的方法。至少在VS 2012中,这似乎是不可能做到的。我能够让它在SSRS的RDL中工作,然后打开该RDL并找到相关部分 <Gr
Customer1 Page 1/2
Customer1 Page 2/2
Customer2 Page 1/1
Customer3 Page 1/4
etc, etc
我似乎找不到重置页码或使总页数成为组的总页数的方法。至少在VS 2012中,这似乎是不可能做到的。我能够让它在SSRS的RDL中工作,然后打开该RDL并找到相关部分
<Group Name="MemberId">
<GroupExpressions>
<GroupExpression>=Fields!MemberId.Value</GroupExpression>
</GroupExpressions>
<PageBreak>
<BreakLocation>StartAndEnd</BreakLocation>
<ResetPageNumber>true</ResetPageNumber>
</PageBreak>
</Group>
最终结果,我将报告转移到Reporting Services 实际上可以这样做,但必须向报告中添加一些自定义代码:
Shared reportGroup as String
Shared newPage as Integer
Public Function ResetPageNumber(newGroup as String)
If Not (reportGroup = newGroup)
reportGroup = newGroup
newPage = 1
Else
newPage = newPage + 1
End If
Return newPage
End Function
然后在页脚中,为页码添加文本框,并将其设置为值:
= Code.ResetPageNumber(ReportItems!TextBoxWithYourGroupNameOrID.Value)
如果我没记错的话,你可以将组名(字符串)作为第二个参数传递给what?@Henry谢谢你指出我的错误。我更新了我的答案。@InitK但这只会写实际的页面,你如何才能得到该组的总页面数?@popiandro我认为,它需要作为数据集的一部分进行计算和呈现,但需要用它进行实验才能确定。@InitK我刚才读过,但对于具有动态高度的行,计算它可能非常复杂
= Code.ResetPageNumber(ReportItems!TextBoxWithYourGroupNameOrID.Value)