kendo-ui 打印选定的行远程服务

kendo-ui print selected rows remote service

我遵循了此处概述的文章:https://docs.telerik.com/kendo-ui/knowledge-base/grid-pdf-export-selected-rows-only

但是这篇文章没有说明服务器端分页。在我的网页中,我像示例一样设置网格,唯一的例外是我使用的是服务器端分页。我单击“导出为 PDF”按钮,网页上的网格隐藏了未选中的行,它生成并保存了 PDF,然后未选中的行再次在网页上可见。所不同的是,一旦我打开PDF文档,未选中的行都在文档中可见。

最后,我最终做的是遍历所有选定的记录,将它们的唯一 ID 推送到过滤器,并在我的数据源的读取传输中检查是否设置了一个标志,指示数据源正在按时读取到正在导出的网格。如果设置了标志,那么我将我的唯一 ID 过滤器传递给请求。

pdfExport: function (e) {
    if (!isExportingPdf) {
        e.sender.hideColumn(1); // selectable column
        isExportingPdf = true;

        filter.Ids = Object.keys(e.sender._selectedIds).join(",");

        e.promise.done(function () {
            e.sender.showColumn(1);
            isExportingPdf = false;

            delete filter.Ids;
            _dataSource.read();
        });
    }
}