我正在尝试从我的项目中获取报告。我使用visual studio 2012通过Rdlc
文件生成报告。
我使用以下代码获取数据:
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
一切正常但是在打印预览中我遇到了很大的问题。例如在每个页面中我应该显示6个项目,如果项目超过6个,则记者应该为此创建另一个页面。但是当我的项目少于6岁时,记者再次出现空白!!!另一个问题是,当我的记录超过6时,它会创建4页,第2页和第4页是空白的。为什么?
例如,在图片中我的结果有9个项目,结果如下:
第2页是这样的:
第3页显示7 8 9号码的项目
最后一个又是空白
这对每个页面来说都是空白页面的原因吗?
最好的问候
答案 0 :(得分:7)
检查您的报告大小值和边距值。如果页面宽度加上任何点的边距宽度大于设置的页面大小,它会将“额外”空白区域推入下一个空白页面。页面高度也一样。
因此,要做的第一件事是在报表设计器中删除页面底部和左侧和右侧的任何空白区域,将报表大小设置为精确的页面大小或更小,并设置边距以使报表方式body + margin不大于设置的页面大小。
答案 1 :(得分:3)
您还可以将父报告的ConsumeContainerWhitespace
属性设置为true
。这对我有用。
查看文档here。
答案 2 :(得分:1)
将报告设计的大小调整到上一个报告控件或标签的确切底部。
答案 3 :(得分:0)
我最近遇到了这个问题,这就是我如何逃脱它:
- &GT;首先通过从Properties更改Page Size属性来设置页面大小。设置宽度:8.5英寸,高度:11英寸
- &GT;通过右键单击报告页面并进入其属性,可以减少边距。我将它们从1英寸减少到0.5英寸(所有侧面)。
这样做会在没有额外页面的情况下呈现我的报告 希望它适用于某人。