日期:2014-05-19  浏览次数:20856 次

关于RDLC报表如何在预览时显示但是在打印时不打印(图片、矩形等物件)。%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
如题!

------解决方案--------------------
不过可以这么做

建立窗体,继承
Inherits PrintPreviewDialog

然后改写原有的打印事件,对文档进行重绘工作
------解决方案--------------------
当然也可以不重写打印,增加几个方法来改动文档源之类的也可以做到
没有想到更好的法子

进行文档的切换和绘制工作
Try
'变量每次显示初始化
PrintDocument.DefaultPageSettings.Landscape = True '横向打印
PrintPreview = New MyPrintPreview '你重新定义的文档
PrintPreview.Document = PrintDocument
If Dialog = True Then
PrintPreview.showPic
Else
PrintPreview.ShowNoPic
End If
Catch Ex As Exception
MsgBox( "有错误发生!!不能预览 ! " & vbCrLf & _
"确信现在你是否能够连接到一个打印机? " & vbCrLf & "错误信息: " & Ex.Message, MsgBoxStyle.Information Or MsgBoxStyle.OkOnly, "提示: ")
End Try
------解决方案--------------------
水晶报表是可以进行隐藏的,不过都是事先做好的设置,不可以后期切换的。
------解决方案--------------------
一种方法:可以做两个报表,显示时用一个,点打印时输出另一个。
另一种方法,可以传参数到报表中,显示时参数为true,打印时为false.通过元素的hidden属控制。