黑夜的狼

沮丧吗,那就是一种无病呻吟!留恋它就是一种高度近视!目光应该放得更远一点! 别不想飞,只是要一步跨过太平洋!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

在为标题设置RepeatOnNewPage 无效,特别是已经设置复杂分组的列表

要为每一个静态组设置RepeatOnNewPage 为TRUE
且设置KeepWithGroup为After

=========================================

为报表做数据处理时,特别是要显示差异数据时,一般情况是直接在数据源直接处理复杂计算
其它有ReportViewer中有一个内置集合

ReportItems 集合内的项只有一个属性:Value。 ReportItems 项的值可用于显示或计算报表中其他字段的数据。 若要访问当前文本框的值,可以使用 Visual Basic 内置全局 Me.Value 或仅使用 Value。 在报表函数(如 First)和聚合函数中使用完全限定语法。

例如:

此表达式放置在文本框中时,显示名为 Textbox1 的 ReportItem 文本框的值:

=ReportItems!Textbox1.Value

此表达式放置在 ReportItem 文本框的 Color 属性中,当值为 > 0 时以黑色显示文本;否则将以红色显示该值:

=IIF(Me.Value > 0,"Black","Red")

此表达式放置在表头或表尾的文本框中时,显示所呈现的报表每一页中名为 LastName 的文本框的第一个值:

=First(ReportItems("LastName").Value)

=======================================================

给列表加序号,复杂分组排序时,使用 RowNumber(“作用域”) 这种方式可能产生无序号码
可以使用 RunningValue(expression, CountDistinct, 作用域) 代替,这种方式不会有乱码

CountDistinct 可以计算去重之后 列值 的数量


在对报表分组后,进行汇总,但有时可以只取汇总的部分数据进行处理
=Sum(IIf(Fields!InOrOut.Value=1,CDec(Fields!Num.Value),0))
根据某些条件筛选,但是实际上,这个看上去十分完美的表达式却无法正常执行,显示“错误号”,一开始以为是IIF里的两个数据类型不一至所致
对表达式进行调整,但是没有效果
=Sum(IIf(Fields!InOrOut.Value=1,CDec(Fields!Num.Value),Fields!Num.Value-Fields!Num.Value))
使用以上的看上去有点傻的表达式却可以正常显示,到目前为止都不知道什么原因
或者使用
=Sum(IIf(Fields!InOrOut.Value=1,CDec(Fields!Num.Value),Nothing))

最新发现,可以使用=Sum(IIf(Fields!InOrOut.Value=1,CDec(Fields!Num.Value),Nothing))


报表显示的大小在report文件本身的属性
reportviewer 不设置分页
通过设置“report”的属性interactivesize 的height的值为0in 就可以,不再分页,正页显示全篇

=============================================
报表要设置每页的标题,需要选中标题行,设置没页列重复

posted on 2019-07-06 15:38  anncesky  阅读(899)  评论(0编辑  收藏  举报