即使关闭了标签页,DevExpress XtraReport仍在后台运行

时间:2018-12-05 19:51:40

标签: devexpress xtrareport

我创建了一个包含5个子报表的XtraReport。

此报告相当大,共10000页。当我关闭浏览器的选项卡时正在生成报告时,该报告仍在后台生成,而如果我单击进度条的“取消”按钮,则该报告生成过程将被放弃。

我的问题是,当我关闭浏览器的选项卡时如何停止生成报告?

1 个答案:

答案 0 :(得分:2)

我已经在他们的在线演示中看到了它的工作方式。简而言之,您可以在卸载,聚焦,模糊之前对窗口事件执行此操作。 来自demos.devexpress.com/MVCxReportDemos的代码:

(function() {
    var doWithViewer = function(func) {
        var viewer = window['webDocumentViewer'];
        viewer && func(viewer);
    };
    var stopTimeout;
    window.addEventListener("focus", function() { stopTimeout && clearTimeout(stopTimeout); });
    window.addEventListener("blur", function() {
        stopTimeout && clearTimeout(stopTimeout);
        stopTimeout = setTimeout(function() {
            doWithViewer(function(viewer) {
                var reportPreview = viewer.GetReportPreview();
                reportPreview && reportPreview.documentBuilding() && reportPreview.stopBuild();
            });
        }, 3000);
    });
    window.addEventListener("beforeunload", function() {
        doWithViewer(function(viewer) {
            setTimeout(function() { viewer.Close(); }, 1);
        });
    });
})()