使用报告查看器打印预览会使额外页面显示为空白

Meh*_*dad 3 c# reporting reportviewer rdlc winforms

我正在尝试从我的项目中获取报告.我Rdlc使用visual studio 2012 按文件进行报告.

我使用以下代码获取数据:

            List<InvoiceDetailRPT> list = customerRpt.ReturnListOfInvoiceDetailsForGRV(invoiceDetails);
  Microsoft.Reporting.WinForms.ReportDataSource dataset =
                new Microsoft.Reporting.WinForms.ReportDataSource("DataSet1", list);
            reportViewer1.LocalReport.DataSources.Add(dataset);
            dataset.Value = list;

            reportViewer1.LocalReport.Refresh();
            reportViewer1.RefreshReport(); // refresh report
Run Code Online (Sandbox Code Playgroud)

一切正常,但在打印预览中我有一个很大的问题.例如在每个页面我应该显示6项,如果项目超过6,记者应该为此制作另一页.但是当我的项目少于6时记者让另一个年龄空白!!!和另一个问题,当我的记录多于6它创建4页而页面2和4是空白的.为什么?

例如,在图片中,我的结果有9个项目,结果如下:

在此输入图像描述

第2页是这样的:

在此输入图像描述

第3页显示了7 8 9号码的项目

在此输入图像描述

而最后一个又是空白

在此输入图像描述

它意味着每个页面都会成为一个空白页面为什么?

最好的祝福

Ini*_*itK 7

检查报告大小值和边距值.如果页面宽度加上任何点的边距宽度大于设置的页面大小,它会将"额外"空白区域推入下一个空白页面.页面高度也是如此.

因此,要做的第一件事是在报表设计器中删除页面底部和左侧和右侧的任何空白区域,将报表大小设置为精确的页面大小或更小,并以报表正文+边距的方式设置边距不大于设置的页面大小.

  • 我认为这是使用MS Report Viewer进行报告的最糟糕的缺点. (2认同)

小智 5

您还可以将ConsumeContainerWhitespace父报表的属性设置为true。这对我有用。

检查此处的文档。