我使用Rotativa库将包含100条记录的Webgrid导出为PDF。 我能够成功地将数据导出到PDF,但问题是因为网格包含这么多记录,所以pdf在每个页面上都有列标题。 因此,列标题与PDF的每个页面中的列内容重叠。 我希望列标题只在pdf的第一页上,而不是在每一页上。
partialview(_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的每一页上。
任何人都可以帮助我在第一页上而不是在PDF的每一页上都有列标题,或者是否有任何其他方式来设置要导出为PDF的内容的样式。 提前谢谢。
答案 0 :(得分:0)
我已设法通过在局部视图中添加以下样式代码来解决此问题:
thead { display: table-header-group; }
tfoot { display: table-row-group; }
tr { page-break-inside: avoid; }