找回密码
 立即注册

QQ登录

只需一步,快速开始

sjsm

中级会员

63

主题

252

帖子

649

积分

中级会员

积分
649

活字格认证微信认证勋章

sjsm
中级会员   /  发表于:2013-12-19 09:36  /   查看:12572  /  回复:12
web 网站  页面报表 在报表打印完后,如何知道是不是打印成功?能详细说明一下吗?

12 个回复

倒序浏览
sjsm
中级会员   /  发表于:2013-12-19 10:10:00
沙发
viewer.setEventsHandler({
                    OnToolClick: function (e) {
                        // 用户点击【套打】按钮时触发
                        if (e.Tool == "套打") {
                            printreport();
                            return false;
                        }
                    },
                    OnLoadProgress: function (e) {
                        if (e.State == "Completed") {
                            pages = e.PageCount;
                            alert("OnLoadProgress");
                        }
                    }
                });

setEventsHandler[/color ] 里面有没有 打印完成之后触发的某个事件?
回复 使用道具 举报
sjsm
中级会员   /  发表于:2013-12-19 11:07:00
板凳
这个问题比较急,请尽快回复。谢谢
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-12-19 13:23:00
地板
sjsm

在Web中的打印是一个无状态的打印方式,不像WinForms中每打印一页会触发一个事件,Web中无法监控打印过程。
回复 使用道具 举报
sjsm
中级会员   /  发表于:2013-12-19 14:07:00
5#
dof 你好,我在 aspx.cs 中加入 report.Document.Printer.EndPrint += new System.Drawing.Printing.PrintEventHandler(Printer_EndPrint);事件,打印完成之后没有触发该事件是怎么回事,调用的不对吗?尽快解决一下,这边客户等着用。
回复 使用道具 举报
sjsm
中级会员   /  发表于:2013-12-19 14:53:00
6#
FlashViewer   点击打印按钮时,展示画面如下,为什么左侧会出现报表,就行停留在那一样?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-12-19 15:08:00
7#
回复 5楼sjsm的帖子

在Web中判断打印完成现在能够提供的方法是在前端调用 viewerforprint.Print(ops); 行代码之后执行你需要的业务,Print会在打印任务发送完成之后执行他下一行代码,现在只能这样简单的判断单页任务完成了。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-12-19 15:09:00
8#
回复 6楼sjsm的帖子

我这边运行之前给你发送的代码没有出现这样的情况,你之前调试时有这样的情况出现吗,或者你可以将你出错的程序发送给我调试看看。
回复 使用道具 举报
sjsm
中级会员   /  发表于:2013-12-20 08:55:00
9#
dof 你好,我们程序用的是ligerui 框架进行开发,现在在我们程序的一个html页面 点击打印按钮,利用window.open 方法开启aspx 页面,当执行完viewerforprint.Print(ops);这个方法之后,要回调我们父页面中的方法,我们始终调用不到,你们试试能解决吗?
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-12-20 12:20:00
10#
sjsm

我的理解是这样的,你在 A 页面通过 window.open("B.aspx") 打开B页面打印报表,B页面将报表打印完成之后需要返回到 A 页面中继续业务操作。

如果是这样你可以在B页面中通过window.opener获取A页面的相关信息,比如A页面有一个名为 TestM 的js 方法,你可以在 B 页面执行 viewerforprint.Print(ops); 之后通过 window.opener.TestM(); 调用 A 页面中的 TestM 方法,然后你在 TestM 中添加你的业务代码。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部