We just upgraded to the latest 2017.3.913 to fix an issue where we couldn't get a good PDF export (AllPages() wasn't working) from a grid with server paging. That problem was corrected with the update but now we have another PDF export issue. We have a grid that has row detail grids and is NOT using server side paging. When the user clicks export, we use the PDF export event to expand all of the detail grids and change the number of rows per page to a large number so that all records will be exported along with the row details.
function onPdfExport(e) {
var grid = e.sender;
var pageSize = grid.dataSource.pageSize();
grid.dataSource.pageSize(5000);
grid.refresh();
grid.expandRow(this.tbody.find("tr.k-master-row"));
e.promise
.done(function () { grid.dataSource.pageSize(pageSize); grid.refresh(); });
}
The problem we're having happens whether we are using this code to expand all rows OR if we comment out the code and expand a few manually. If I expand 3 rows, the export is combining the details for each row and showing the detail data for all open rows in all open rows. I know that is a little difficult to understand...if each of the 3 rows that have been expanded have 1 detail row each then 3 detail rows will export under every expanded row. See attached images for a clearer description. These images were generated without the use of the PDF export event handler defined above. I manually expanded 3 rows before exporting. The first screenshot is the actual grid showing 3 rows expanded. The second is the page from the PDF export where you can see that the detail grids are combined.