求水晶报表打印时设置页码的源代码!
水晶报表的打印,页码默认是从1开始,然后递增
比如:第1页,第2页
怎么指定页码的起始值?
比如让打印的第一页,显示为第10页,然后依次第11页,第12页
最好是给一段源代码给我看,万分感谢!
已经愁了很长时间了。。。
问题点数:100、回复次数:6Top
1 楼thunderdanky()回复于 2006-03-12 13:39:05 得分 0
没人帮我吗?!!!
继续求教啊1Top
2 楼thunderdanky()回复于 2006-03-13 07:54:43 得分 0
我顶啊!
哪位高人会啊。帮我一把吧Top
3 楼xwdd129(高手就是:不出手)回复于 2006-03-13 09:07:21 得分 50
这是什么要求?应该不能这样指定,不过你可以试试先写代码给报表里的页码字段赋值,把第一页的页码改为10,然后再写打印代码进行打印,页码字段属于特殊字段!
1,更改特殊字段
private SpecialVarFieldDefinition GetSpecialField
(string reportObjectName)
{
FieldObject field;
SpecialVarFieldDefinition specialField;
// 按名称获取 ReportObject 并将其转换为 FieldObject。
field =
Report.ReportDefinition.ReportObjects[reportObjectName]
as FieldObject;
if (field != null)
{
// 获取 FieldObject 的数据源,将其转换为
// SpecialVarFieldDefinition 对象,并返回此对象。
specialField = field.DataSource as
SpecialVarFieldDefinition;
if(specialField != null) return specialField;
else return null;
}
else return null;
}
2,指定打印
rpt.PrintOptions.PrinterName = @"\\Server1\HP1000";
rpt.PrintToPrinter(1,false, 1, 2);Top
4 楼thunderdanky()回复于 2006-03-13 09:16:15 得分 0
先谢谢了!
我试试吧。
我也想到一个方法:
用参数+字段来设定。
在报表加载的时候,提示输入参数,这个参数就是打印的页码。
然后用公式 pagenumber+{?页码参数} 来计算当前页码。
这样可以随便指定第一页的页码了。
不过问题是这样的话有点繁琐。(!谁让要求就是这样的那!)
如果想打印一个报表里面不相连的页数,但是还想要页码相连的话,那就只能两次加载报表,用脑子算出来需要打印的页码了!
^_^,是不是有些繁琐?
谁还有更好的方法吗?
先给楼上的加分喽!!Top
5 楼xwdd129(高手就是:不出手)回复于 2006-03-13 09:20:25 得分 0
呵呵,我只是提一下思路,打印本来就是个满烦人的东西~~Top
6 楼luckyprg(lucky)回复于 2006-03-14 08:55:38 得分 50
新建一个公式,输入
"第"+CSTR(PageNumber+10,0)+"页"Top




