使用区域报表时,Detail区域会加载详细数据,纸张是在设计时指定好的,但是有时候筛选的记录过少;而Detail区域就会用大片空白来填充,用户体验非常不好;有用户反馈,如果能根据数据记录的调整页面高度就完美了,那今天我们来学习如何动态调整报表纸张高度。
核心思想
通过动态加载数据源,判断详细数据的记录数,根据记录数调整报表高度。
1. 新建WinForm 程序
2. 新建区域报表
3. 添加TextBox控件,设置DataField属性
4. 实现Form_Load方法
添加以下代码,注意,如果电脑连接打印机一定要将添加这句代码: sr.Document.Printer.PrinterName = ""; 否则会因为打印机没有设置的纸张大小,导致报表无法正常加载。
SectionReport1 sr = new SectionReport1();
sr.Document.Printer.PrinterName = "";
DataTable dt = new DataTable();
dt.Columns.Add("Col1");
dt.Columns.Add("Col2");
dt.Columns.Add("Col3");
dt.Rows.Add("1","2","3");
dt.Rows.Add("2","2","2");
dt.Rows.Add("3", "3", "3");
sr.DataSource = dt;
float count = dt.Rows.Count * 2;
sr.PageSettings.PaperKind = System.Drawing.Printing.PaperKind.Custom;
sr.PageSettings.PaperHeight = count;
sr.PageSettings.PaperWidth = 4.0f;
viewer1.LoadDocument(sr);
源码下载:
您在使用产品过程中有任何疑问,可以登录官方产品技术���区和经验丰富的技术工程师、ActiveReports开发人员交流:了解更多。
了解ActiveReports产品更多特性:
下载产品体验产品功能:
ActiveReports 报表控件| 下载试用
ActiveReports 是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForm / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求,作为专业的报表工具为全球超过 300,000 开发人员提供了全面的报表开发服务。
您对ActiveReports产品的任何技术问题,都有技术支持工程师提供1对1专业解答,点击此处即可发帖提问>>技术支持论坛
葡萄城热门产品


