概述
双通道(Double pass),是http://FastReport.NET填充数据的一种机制,允许报表引擎对数据进行两次处理。这种机制特别适用于需要根据第一遍处理的结果动态调整报表布局或内容的场景。
- 第一遍(First Pass):遍历数据源,收集必要的信息,例如总计、记录数、最大值、最小值等。为第二遍处理提供必要的数据支持。
- 第二遍(Second Pass):根据第一遍收集到的信息,动态调整报表的布局和内容。譬如根据分组总计数进行分组排序等。
使用场景

条件格式:根据第一遍收集的数据动态设置格式(如颜色、字体等)。
如何启用
通过设计器启用


通过代码启用
使用Report的DoublePass
进行设置。
FastReport.Report report = new FastReport.Report();
report.DoublePass = true;
使用双通道(Double pass)
可以分别为第一遍/第二遍数据处理做自定义的逻辑处理。在对应的事件委托中进行特定的处理即可:

譬如按分组记录数进行排序

注意事项
性能影响:双遍模式会增加报表生成的时间,因为数据需要被处理两次。对于大数据量的报表,可能会影响性能。
总结
FastReport .NET 的双遍功能为动态报表生成提供了强大的支持。通过两次处理数据,可以实现更灵活的布局调整和内容展示,特别适用于需要动态计算或分页的场景。如果你有具体的需求或问题,可以进一步探讨!