DevExpress XtraReport работает в фоновом режиме, хотя вкладка закрыта - PullRequest
0 голосов
/ 05 декабря 2018

Я создал XtraReport с 5 подотчетами.

Этот довольно большой отчет, состоящий из 10000 страниц.Во время создания отчета, если я закрываю вкладку браузера, отчет все еще генерируется в фоновом режиме, тогда как, если я нажимаю кнопку отмены индикатора выполнения, процесс создания отчета прекращается.

Мой вопрос: как мне остановить генерацию отчетов при закрытии вкладки браузера?

1 Ответ

0 голосов
/ 07 декабря 2018

Я видел, как это происходит в их онлайн-демонстрациях.Короче говоря, вы можете сделать это на событиях окна до загрузки, фокусировки, размытия.Код от 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);
        });
    });
})()
...