Stimulsoft实现每条记录对应生成2页固定模板PDF的技术问询
Stimulsoft 单条数据对应多固定页PDF生成实现方案
1. 数据源配置
- 首先在Stimulsoft报表设计器中完成SQL数据源连接,编写查询语句拉取你需要的10条目标数据,将该查询结果设置为报表的主数据源,建议命名为
MainRecordSet方便后续绑定。
2. 模板页面循环规则设置
你现有的2个固定页面,需要配置为跟随每条数据源记录重复生成,两种场景对应不同配置:
- 场景1:页面内容用Data Band包裹
选中两个页面内的顶层Data Band,将其数据源绑定为MainRecordSet,开启属性面板中的Print On Each Data Row选项,同时给第二个页面的Data Band开启Page Break At End属性,确保每条记录的两个页面生成完成后自动分页。 - 场景2:页面为无Data Band的纯静态模板
直接选中两个报表页面,在属性面板找到Repeat On Datasource选项,绑定为MainRecordSet即可,Stimulsoft会自动遍历每条数据源记录生成对应的两个页面。
3. 预览验证
在设计器内点击预览按钮,确认生成的页面总数量为20页,每条数据对应的两个页面内容匹配对应记录的字段值,没有多余空白页或者缺页问题。
4. 代码集成导出(.NET环境示例)
如果你是在程序中集成Stimulsoft导出,参考以下C#代码逻辑,其他开发语言逻辑一致:
using Stimulsoft.Report; using Stimulsoft.Report.Export; // 初始化报表对象 StiReport report = new StiReport(); // 加载本地mrt模板文件 report.Load(@"C:\你的模板路径\report_template.mrt"); // 可选:代码端动态注入SQL查询结果,也可以直接用设计器内配置的数据源自动查询 DataTable sqlData = Get10RecordsFromSql(); // 自定义方法,从SQL读取10条数据返回DataTable report.RegData("MainRecordSet", sqlData); // 渲染报表 report.Render(false); // 导出为PDF文件 report.ExportDocument(StiExportFormat.Pdf, @"C:\输出路径\final_20pages.pdf");
常见问题排查
- 如果出现多余空白页:检查第一个页面的
New Page After属性是否为关闭状态,仅保留第二个页面的该属性开启即可。 - 如果所有记录都显示相同数据:确认数据源绑定是否正确,Data Band或者页面的重复生成规则是否开启。
内容的提问来源于stack exchange,提问作者Pooria2C
相关产品推荐
相关产品推荐

