ActiveReports打印的问题(this.Document.Print();怎么调用呢)

dbserver 2005-07-27 09:39:27
我是用 DataDynamics.ActiveReports.Web 控件,来显示.rpx 报表文件的。
button事件打印代码是:
{
//WebViewer1.Report.Run();
WebViewer1.Report.Document.Print();
}

报错说:
It is invalid to show a modal dialog or form when the application is not running in UserInteractive mode. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application.
...全文
600 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
carl_8888 2006-02-11
  • 打赏
  • 举报
回复
这简单. 把ShowParameterUI 设为 true 就可以了.
dbserver 2005-07-30
  • 打赏
  • 举报
回复
up一下,
dbserver 2005-07-29
  • 打赏
  • 举报
回复
楼上的兄弟,在哪实现打印呢?
dbserver 2005-07-29
  • 打赏
  • 举报
回复
button事件打印,代码如下:
{
this.rpt.ShowParameterUI =false;
this.rpt.Run(false);
this.rpt.Document.Print(true,false);
}
为什么会报错呢?
It is invalid to show a modal dialog or form when the application is not running in UserInteractive mode. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application.
dbserver 2005-07-28
  • 打赏
  • 举报
回复
为什么一天了,还没人回答呢?
crane2002 2005-07-28
  • 打赏
  • 举报
回复
我是用第三方控件实现的,你可以参考一下:
前台页面代码:
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="skillChohyo.aspx.vb" Inherits="Skill.skillChohyo"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>skillChohyo</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.0">
<meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">

</HEAD>
<body MS_POSITIONING="GridLayout" language="javascript">
<form id="skillChohyo" method="post" runat="server">
</form>
<FONT face="MS UI Gothic"></FONT>
<OBJECT id="arv" codeBase="arview2.cab#version=2,0,0,1183" height="100%" width="100%" classid="clsid:8569D715-FF88-44BA-8D1D-AD3E59543DDE" VIEWASTEXT>
<PARAM NAME="_ExtentX" VALUE="19897">
<PARAM NAME="_ExtentY" VALUE="9710">
</OBJECT>
<script language="vbscript">
<!--
sub arv_ControlLoaded()
arv.DataPath = "skillChohyo.aspx?ReturnReport=1"
end sub
-->
</script>
</body>
</HTML>

后台程序代码:
Public Class skillChohyo
Inherits System.Web.UI.Page

#Region " Web viewer"

<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.ID = "skillChohyo"

End Sub

Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
InitializeComponent()
End Sub

#End Region

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim sReturnReport As String = Me.Page.Request.QueryString("ReturnReport")

If (Not sReturnReport Is Nothing) Then
If (Not sReturnReport.Trim() = String.Empty) Then


Me.Page.Response.Buffer = True
Dim rpt As DataDynamics.ActiveReports.ActiveReport = Nothing

Try
rpt = New AR_Skill
rpt.Run(False)
Catch eRunReport As Exception
Me.Trace.Warn("Report failed to run:\n" + eRunReport.ToString())
End Try

Dim outStream As System.IO.MemoryStream = New System.IO.MemoryStream

rpt.Document.Save(outStream, DataDynamics.ActiveReports.Document.RdfFormat.AR20)
outStream.Seek(0, System.IO.SeekOrigin.Begin)
Dim bytes(outStream.Length) As Byte
outStream.Read(bytes, 0, CType(outStream.Length, Integer))

Me.Page.Response.ClearContent()
Me.Page.Response.ClearHeaders()
Me.Page.Response.BinaryWrite(bytes)
Me.Page.Response.End()
End If
End If

End Sub

End Class


其中AR_Skill是账票的名字,其中的控件"arview2.cab",你可以去网上找找看,我这里也有,但是我只有晚上在线的,QQ:25628466
dbserver 2005-07-28
  • 打赏
  • 举报
回复
如果把代码改成:
{
this.rpt.Restart();
this.rpt.Document.Print(true,true);
}
则会报错:

System.ApplicationException: The pages collection is empty
xiangding 2005-07-28
  • 打赏
  • 举报
回复
兄弟,帮你顶一下,我没用过
dbserver 2005-07-27
  • 打赏
  • 举报
回复
没人回复吗?
dbserver 2005-07-27
  • 打赏
  • 举报
回复
提前一下,

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧