0

我正在使用 Rotativa 库将包含 100 条记录的 Webgrid 导出到 PDF 中。我能够成功地将数据导出到 PDF,但问题是由于他的网格包含如此多的记录,因此 pdf 在每一页上都有列标题。因此,列标题与 PDF 每一页中的列内容重叠。我只想在 pdf 的第一页上使用列标题,而不是在每一页上。

部分视图(_Report.cshtml)如下:

<div id="reportDetailGrid">
        @grid2.GetHtml(
                    tableStyle: "webgrid-table",
             headerStyle: "webgrid-header",
             footerStyle: "webgrid-footer",
             alternatingRowStyle: "webgrid-alternating-row",
             selectedRowStyle: "webgrid-selected-row",
             rowStyle: "webgrid-row-style",
             mode: WebGridPagerModes.All,
            columns: grid2.Columns(
                      grid2.Column("PropertyCode", "PropertyCode", format: @<text>@item.PropertyCode</text>),
                      grid2.Column("TransactionTime", "TransactionTime", format: @<text>@item.TransactionTime</text>),
                      grid2.Column("ConfirmationNo", "ConfirmationNo",format: @<text>@item.ConfirmationNo</text>),
                    grid2.Column("AlertCode", "AlertCode",format: @<text>@item.AlertCode</text>),
                    grid2.Column("ErrorMessage", "ErrorMessage",format: @<text>@item.ErrorMessage</text>)
)
)

    </div>

控制器代码是:

public ActionResult DownloadReportPDF()
    {
      var model = GetReportsViewModelData();
        //Code to get content
        return new Rotativa.PartialViewAsPdf("_Report", model) { FileName = "DigitalDashboardReport.pdf" };
    }

以下是PDF第二页的截图:

pdf第2页的标题

它发生在 PDF 的每一页上。

任何人都可以帮助我只在第一页而不是在 PDF 的每一页上设置列标题,或者如果他们有任何其他方式来设置要导出为 PDF 的内容的样式。提前致谢。

4

1 回答 1

0

我设法通过在部分视图中添加以下样式代码来解决该问题:

thead { display: table-header-group; } 
tfoot { display: table-row-group; } 
tr { page-break-inside: avoid; }
于 2016-07-18T05:13:02.207 回答