水晶报表进行页小计、固定行分页、分页中每页显示紧贴式页脚的方法
2012-06-06 17:16
766 查看
http://kongjian.baidu.com/xpj_jy/blog/item/168fcc5004b1e2828c543090.html
1.要进行页小计,需要在报表设计时建立3个公式,一个(SumRows)放在明细节内用于WhilePrintingRecords事件进行全局变量RowTotal累加,一个(PageTotal)放在页脚n(报脚n、组脚n、细节n)内用于反映RowTotal即时值,一个(Reset)放在PageTotal后用于下页前回零RowTotal;
SumRows公式:
WhilePrintingRecords
global RowTotal as currency
RowTotal= RowTotal + CCur({Order.Money})
formula=RowTotal
PageTotal公式:
WhilePrintingRecords
global RowTotal as currency
formula=RowTotal
Reset公式:
EvaluateAfter ({@SumRows})
global RowTotal as currency
RowTotal=0
formula=0
2.固定行分页
要进行固定行分页需要在报表设计时添加参数PrintRows(设为数值型,默认值设10)用于打印前告诉报表打多少行,动态赋值代码:
Dim oFld As CRAXDRT.ParameterFieldDefinition
dim nRows as integer
nRows=8
For Each oFld In oReport.ParameterFields
If oFld.ParameterFieldName = "printrows" Then
oFld.AddCurrentValue nRows
Exit For
End If
Next
然后编辑明细节“在后面页新建页”公式内容加入:
if Remainder(RecordNumber, {?printrows}) = 0 then
if OnLastRecord then
formula=false
else
formula=true
end if
end if
3.最恼人的问题,分页中每页显示紧贴式页脚?只有组节和明细节可实现紧贴页脚!这里使用明细节替代页脚:
需要2个明细节,第一个用于正常显示明细记录,第二个用于代替页脚放置业脚内容,编辑第二明细节"抑制显示"公式,内容加入:
if Remainder(RecordNumber, {?printrows} ) <> 0 then
if OnLastRecord then
formula=false
else
formula=true
end if
end if
1.要进行页小计,需要在报表设计时建立3个公式,一个(SumRows)放在明细节内用于WhilePrintingRecords事件进行全局变量RowTotal累加,一个(PageTotal)放在页脚n(报脚n、组脚n、细节n)内用于反映RowTotal即时值,一个(Reset)放在PageTotal后用于下页前回零RowTotal;
SumRows公式:
WhilePrintingRecords
global RowTotal as currency
RowTotal= RowTotal + CCur({Order.Money})
formula=RowTotal
PageTotal公式:
WhilePrintingRecords
global RowTotal as currency
formula=RowTotal
Reset公式:
EvaluateAfter ({@SumRows})
global RowTotal as currency
RowTotal=0
formula=0
2.固定行分页
要进行固定行分页需要在报表设计时添加参数PrintRows(设为数值型,默认值设10)用于打印前告诉报表打多少行,动态赋值代码:
Dim oFld As CRAXDRT.ParameterFieldDefinition
dim nRows as integer
nRows=8
For Each oFld In oReport.ParameterFields
If oFld.ParameterFieldName = "printrows" Then
oFld.AddCurrentValue nRows
Exit For
End If
Next
然后编辑明细节“在后面页新建页”公式内容加入:
if Remainder(RecordNumber, {?printrows}) = 0 then
if OnLastRecord then
formula=false
else
formula=true
end if
end if
3.最恼人的问题,分页中每页显示紧贴式页脚?只有组节和明细节可实现紧贴页脚!这里使用明细节替代页脚:
需要2个明细节,第一个用于正常显示明细记录,第二个用于代替页脚放置业脚内容,编辑第二明细节"抑制显示"公式,内容加入:
if Remainder(RecordNumber, {?printrows} ) <> 0 then
if OnLastRecord then
formula=false
else
formula=true
end if
end if
相关文章推荐
- 固定水晶报表每页显示的行数两种方法
- 水晶报表页面小计不准确的解决方法
- 在每页(分页)报表中重复显示标题 - SQL Server Reporting Service (SSRS)
- 【水晶报表实战指南】使用分组实现超多列分段同页及分页显示
- RDLC报表固定每页都显示表头
- 解决水晶报表无法显示图片的方法
- 【分享】VS200X水晶报表边框效果在WEB页面不连续显示问题解决方法
- 水晶报表按组分页出现空白页解决的方法以及组内分组
- 对页面制定区域进行打印,以及打印不显示页脚URL的方法
- 水晶报表中按页统计字段(即每页小计)最后合计,怎么实现的?
- RDLC报表固定每页都显示表头
- 对特定表进行分页显示的存储过程(要求有两个参数一个是 每页显示的记录的条数(@pagesize),第二个是显示第几页(@pageIndex))
- VB.Net水晶报表:记录选择公式无效,显示出所有记录的解决方法
- [水晶报表]RECORDNUMBER应用之控制每页显示行数及隔行换色
- 【水晶报表小技巧-使用-5】 控制每页显示行数、隔行换色.
- [水晶报表]RECORDNUMBER应用之控制每页显示行数及隔行换色
- 水晶报表分页小计
- 水晶报表分组分页且每页最多显示N条记录
- 有关 rdld 设定每页显示表头。列头。并且列头固定的方法。
- 水晶报表部署后不显示图片的解决方法